Message ID | 1441301487-6238-1-git-send-email-tony@atomide.com |
---|---|
State | New |
Headers | show |
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 <grygorii.strashko@ti.com> > Cc: Javier Martinez Canillas <javier@dowhile0.org> > Cc: Kevin Hilman <khilman@deeprootsystems.com> > Cc: Santosh Shilimkar <ssantosh@kernel.org> > Signed-off-by: Tony Lindgren <tony@atomide.com> > --- > 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 <grygorii.strashko@ti.com> With hope that only GPIO0 will be deferred, otherwise there will be total mess in gpios enumeration ;)
* Grygorii Strashko <grygorii.strashko@ti.com> [150904 03:04]: > 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 <grygorii.strashko@ti.com> > >Cc: Javier Martinez Canillas <javier@dowhile0.org> > >Cc: Kevin Hilman <khilman@deeprootsystems.com> > >Cc: Santosh Shilimkar <ssantosh@kernel.org> > >Signed-off-by: Tony Lindgren <tony@atomide.com> > >--- > > 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 <grygorii.strashko@ti.com> > > With hope that only GPIO0 will be deferred, otherwise > there will be total mess in gpios enumeration ;) Heh nope :) If pinctrl currently ever causes deferred probe things will get totally messed up.. Works fine after $subject patch. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Sep 3, 2015 at 7:31 PM, Tony Lindgren <tony@atomide.com> 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 <grygorii.strashko@ti.com> > Cc: Javier Martinez Canillas <javier@dowhile0.org> > Cc: Kevin Hilman <khilman@deeprootsystems.com> > Cc: Santosh Shilimkar <ssantosh@kernel.org> > Signed-off-by: Tony Lindgren <tony@atomide.com> Patch applied with Grygorii's review tag. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- 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
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 <grygorii.strashko@ti.com> Cc: Javier Martinez Canillas <javier@dowhile0.org> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com> --- drivers/gpio/gpio-omap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)