[PATCH v3.4-rc3] MTD: NAND: ams-delta: Fix request_mem_region() failure
jkrzyszt at tis.icnet.pl
Wed Apr 25 13:01:14 EDT 2012
Dnia środa, 25 kwietnia 2012 18:13:38 Artem Bityutskiy pisze:
> On Tue, 2012-04-17 at 15:49 +0200, Janusz Krzysztofik wrote:
> > A call to request_mem_region() has been introduced in the omap-gpio
> > driver recently (commit 96751fcbe5438e95514b025e9cee7a6d38038f40,
> > "gpio/omap: Use devm_ API and add request_mem_region"). This change
> > prevented the Amstrad Delta NAND driver, which was doing the same in
> > order to take control over OMAP MPU I/O lines that the NAND device
> > off, from loading successfully.
> > There is another driver, omap-keypad, which also manipulates OMAP
> > registers, but has never been calling request_mem_region() on
> > so it's not affected by the change in the gpio-omap and works
> > Drop request_mem_region() call and related bits from ams-delta NAND
> > driver.
> > Created and tested against linux-3.4-rc3.
> > Signed-off-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
> How about race conditions? Where is the guarantee that these 2 drivers
> won't affect each other when doing I/O at the same time to the same HW
Both drivers use separate subsets of registers that belong to the OMAP1
MPU I/O device, but are used for controlling different sets of I/O pins.
The NAND driver reads/writes the folowing registers:
while the keypad driver - the following:
Both subsets are non-overlapping, and we rely on the drivers being free
of bugs and doing their job correctly, not stepping on each others'
feet, I guess.
More information about the linux-mtd