Subject: [PATCH] gpio: omap: Fix GPIO numbering for deferred probe

From: [email-masked] (Grygorii Strashko)
Date: Fri, 4 Sep 2015 13:00:38 +0300

On 09/03/2015 08:31 PM, Tony Lindgren wrote:
> If gpio-omap probe fails with -EPROBE_DEFER, the GPIO numbering
> keeps increasing. Only increase the gpio count if gpiochip_add()
> was successful as otherwise the numbers will increase for each
> probe attempt.
>
> Cc: Grygorii Strashko <[email-masked]>
> Cc: Javier Martinez Canillas <[email-masked]>
> Cc: Kevin Hilman <[email-masked]>
> Cc: Santosh Shilimkar <[email-masked]>
> Signed-off-by: Tony Lindgren <[email-masked]>
> ---
>   drivers/gpio/gpio-omap.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> --- a/drivers/gpio/gpio-omap.c
> +++ b/drivers/gpio/gpio-omap.c
> @@ -1095,7 +1095,6 @@ static int omap_gpio_chip_init(struct gpio_bank *bank, struct irq_chip *irqc)
>   	} else {
>   		bank->chip.label = "gpio";
>   		bank->chip.base = gpio;
> -		gpio += bank->width;
>   	}
>   	bank->chip.ngpio = bank->width;
>
> @@ -1105,6 +1104,9 @@ static int omap_gpio_chip_init(struct gpio_bank *bank, struct irq_chip *irqc)
>   		return ret;
>   	}
>
> +	if (!bank->is_mpuio)
> +		gpio += bank->width;
> +
>   #ifdef CONFIG_ARCH_OMAP1
>   	/*
>   	 * REVISIT: Once we have OMAP1 supporting SPARSE_IRQ, we can drop
>

Reviewed-by: Grygorii Strashko <[email-masked]>

With hope that only GPIO0 will be deferred, otherwise
there will be total mess in gpios enumeration ;)

-- 
regards,
-grygorii