Mika Westerberg <ext-mika.1.westerb...@nokia.com> writes:

> 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.westerb...@nokia.com>

Acked-by: Kevin Hilman <khil...@ti.com>

Tony, this should be added to omap-for-linus as it fixes a problem in
the recently merged GPIO omap_device/hwmod conversion.

Thanks,

Kevin

> ---
>  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 c05c653..4dcb66f 100644
> --- a/arch/arm/plat-omap/gpio.c
> +++ b/arch/arm/plat-omap/gpio.c
> @@ -867,7 +867,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;
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to