diff options
author | Kevin Hilman <khilman@ti.com> | 2011-04-21 09:08:15 -0700 |
---|---|---|
committer | Nishanth Menon <nm@ti.com> | 2011-07-14 11:53:06 -0700 |
commit | b5c702e4b041701d4a3bf42f2e71258490ab84fb (patch) | |
tree | 31c414c0368110620b230294afa548b58e0cef95 /drivers/gpio | |
parent | 4cfe86f1a50a878ddd553b9ee4b3c3e88bf18ac6 (diff) | |
download | kernel_samsung_tuna-b5c702e4b041701d4a3bf42f2e71258490ab84fb.zip kernel_samsung_tuna-b5c702e4b041701d4a3bf42f2e71258490ab84fb.tar.gz kernel_samsung_tuna-b5c702e4b041701d4a3bf42f2e71258490ab84fb.tar.bz2 |
GPIO: OMAP: _clear_gpio_irqbank: fix flushing of posted write
In commit 78a1a6d3411de1a8b0dc1cb92754b5f12f251912 (ARM: OMAP4: Update
the GPIO support) braces were mistakenly added to included the
register read-back inside the cpu_is_* checking.
Remove the braces, ensuring that a register read-back is done, even
when the IRQSTATUS2 register is not written.
Note that the register read-back might be IRQSTATUS1 or IRQSTATUS2
depending on the CPU, but a read-back of any register in that region
will cause a flush of the posted writes.
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-omap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index f1504ba..48bc35a 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c @@ -703,12 +703,11 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask) else if (cpu_is_omap44xx()) reg = bank->base + OMAP4_GPIO_IRQSTATUS1; - if (cpu_is_omap24xx() || cpu_is_omap34xx() || cpu_is_omap44xx()) { + if (cpu_is_omap24xx() || cpu_is_omap34xx() || cpu_is_omap44xx()) __raw_writel(gpio_mask, reg); /* Flush posted write for the irq status to avoid spurious interrupts */ __raw_readl(reg); - } } static inline void _clear_gpio_irqstatus(struct gpio_bank *bank, int gpio) |