diff options
author | Mika Westerberg <ext-mika.1.westerberg@nokia.com> | 2010-12-29 06:01:31 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2011-01-07 16:33:07 -0500 |
commit | f7c5cc456211da7d0b0aefd3886e57b313a0e00f (patch) | |
tree | a1aea5eca5b8e707c5ab94d3d2d0022653565af8 /arch/arm/plat-omap/gpio.c | |
parent | dda0aea7ba5a902982cb65a7f7ec1b5c8e7b6923 (diff) |
OMAP: GPIO: fix _set_gpio_triggering() for OMAP2+
In case on OMAP2+ we call set_24xx_gpio_triggering() instead of
updating reg and l values. However, at the end of the function we
perform a write:
__raw_writel(l, reg);
So on OMAP2+ we end up writing 0 to the bank->base which is not
correct (typically this points to GPIO_REVISION register).
Fix this by returning immediately after call to
set_24xx_gpio_triggering().
Signed-off-by: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/plat-omap/gpio.c')
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 1f98e0b94847..60631f227797 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -718,7 +718,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger) | |||
718 | case METHOD_GPIO_24XX: | 718 | case METHOD_GPIO_24XX: |
719 | case METHOD_GPIO_44XX: | 719 | case METHOD_GPIO_44XX: |
720 | set_24xx_gpio_triggering(bank, gpio, trigger); | 720 | set_24xx_gpio_triggering(bank, gpio, trigger); |
721 | break; | 721 | return 0; |
722 | #endif | 722 | #endif |
723 | default: | 723 | default: |
724 | goto bad; | 724 | goto bad; |