lkml.org 
[lkml]   [2012]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH v3.4-rc3] MTD: NAND: ams-delta: Fix request_mem_region() failure
    Date
    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
    hangs
    > > off, from loading successfully.
    > >
    > > There is another driver, omap-keypad, which also manipulates OMAP
    MPUIO
    > > registers, but has never been calling request_mem_region() on
    startup,
    > > so it's not affected by the change in the gpio-omap and works
    correctly.
    > >
    > > 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@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
    > resources?

    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:
    - OMAP_MPUIO_INPUT_LATCH,
    - OMAP_MPUIO_OUTPUT,
    - OMAP_MPUIO_IO_CNTL,
    while the keypad driver - the following:
    - OMAP_MPUIO_KBR_LATCH,
    - OMAP_MPUIO_KBC,
    - OMAP_MPUIO_KBD_MASKIT
    - OMAP_MPUIO_GPIO_DEBOUNCING.
    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.

    Thanks,
    Janusz
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-04-25 19:19    [W:0.027 / U:32.164 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site