OMAP: GPIO: fix _set_gpio_triggering() for OMAP2+
authorMika Westerberg <ext-mika.1.westerberg@nokia.com>
Wed, 29 Dec 2010 11:01:31 +0000 (13:01 +0200)
committerKevin Hilman <khilman@ti.com>
Fri, 7 Jan 2011 21:33:07 +0000 (13:33 -0800)
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>
arch/arm/plat-omap/gpio.c

index 1f98e0b948478dc92abccc71580c66b02223e73e..60631f227797cc3a8ca5ec29c84daffd8521b7df 100644 (file)
@@ -718,7 +718,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
        case METHOD_GPIO_24XX:
        case METHOD_GPIO_44XX:
                set_24xx_gpio_triggering(bank, gpio, trigger);
-               break;
+               return 0;
 #endif
        default:
                goto bad;