Re: [PATCH] gpio: omap: Fix gpiochip_add() handling for deferred probe
On Fri, Aug 28, 2015 at 8:44 PM, Tony Lindgrenwrote: > Currently we gpio-omap breaks if gpiochip_add() returns -EPROBE_DEFER: > > [0.57] gpiochip_add: GPIOs 0..31 (gpio) failed to register > [0.57] omap_gpio 4831.gpio: Could not register gpio chip -517 > ... > [3.67] omap_gpio 4831.gpio: Unbalanced pm_runtime_enable! > > Let's fix the issue by adding the missing pm_runtime_put() on error. > > Cc: Grygorii Strashko > Cc: Javier Martinez Canillas > Cc: Kevin Hilman > Cc: Santosh Shilimkar > Signed-off-by: Tony Lindgren > --- > drivers/gpio/gpio-omap.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c > index b0c57d5..f09bf0b 100644 > --- a/drivers/gpio/gpio-omap.c > +++ b/drivers/gpio/gpio-omap.c > @@ -1232,8 +1232,11 @@ static int omap_gpio_probe(struct platform_device > *pdev) > omap_gpio_mod_init(bank); > > ret = omap_gpio_chip_init(bank, irqc); > - if (ret) > + if (ret) { > + pm_runtime_put_sync(bank->dev); > + pm_runtime_disable(bank->dev); > return ret; > + } > > omap_gpio_show_rev(bank); Patch applied for fixes with Santosh's ACK. Yours, Linus Walleij -- 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
Re: [PATCH] gpio: omap: Fix gpiochip_add() handling for deferred probe
Hi Tony, On 08/28/2015 09:44 PM, Tony Lindgren wrote: Currently we gpio-omap breaks if gpiochip_add() returns -EPROBE_DEFER: [0.57] gpiochip_add: GPIOs 0..31 (gpio) failed to register [0.57] omap_gpio 4831.gpio: Could not register gpio chip -517 ... [3.67] omap_gpio 4831.gpio: Unbalanced pm_runtime_enable! I have no objection to the patch itself. But I curious, How have you got this error output? Was it simulated? Let's fix the issue by adding the missing pm_runtime_put() on error. Cc: Grygorii StrashkoCc: Javier Martinez Canillas Cc: Kevin Hilman Cc: Santosh Shilimkar Signed-off-by: Tony Lindgren --- drivers/gpio/gpio-omap.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index b0c57d5..f09bf0b 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c @@ -1232,8 +1232,11 @@ static int omap_gpio_probe(struct platform_device *pdev) omap_gpio_mod_init(bank); ret = omap_gpio_chip_init(bank, irqc); - if (ret) + if (ret) { + pm_runtime_put_sync(bank->dev); + pm_runtime_disable(bank->dev); return ret; + } omap_gpio_show_rev(bank); -- regards, -grygorii -- 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
Re: [PATCH] gpio: omap: Fix gpiochip_add() handling for deferred probe
* Grygorii Strashko[150831 02:07]: > Hi Tony, > > On 08/28/2015 09:44 PM, Tony Lindgren wrote: > >Currently we gpio-omap breaks if gpiochip_add() returns -EPROBE_DEFER: > > > >[0.57] gpiochip_add: GPIOs 0..31 (gpio) failed to register > >[0.57] omap_gpio 4831.gpio: Could not register gpio chip -517 > >... > >[3.67] omap_gpio 4831.gpio: Unbalanced pm_runtime_enable! > > I have no objection to the patch itself. > > But I curious, How have you got this error output? Was it simulated? I ran into it when trying to get rid of all the custom initcalls for various drivers. And especially if adding dts mappings for gpio-ranges to try to find some solution for the 1.158 issue that keeps me from having a mainline GPIO PM regresion test with pinging wl12xx during off idle :) Regards, Tony -- 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
Re: [PATCH] gpio: omap: Fix gpiochip_add() handling for deferred probe
On 08/31/2015 05:11 PM, Tony Lindgren wrote: > * Grygorii Strashko[150831 02:07]: >> Hi Tony, >> >> On 08/28/2015 09:44 PM, Tony Lindgren wrote: >>> Currently we gpio-omap breaks if gpiochip_add() returns -EPROBE_DEFER: >>> >>> [0.57] gpiochip_add: GPIOs 0..31 (gpio) failed to register >>> [0.57] omap_gpio 4831.gpio: Could not register gpio chip -517 >>> ... >>> [3.67] omap_gpio 4831.gpio: Unbalanced pm_runtime_enable! >> >> I have no objection to the patch itself. >> >> But I curious, How have you got this error output? Was it simulated? > > I ran into it when trying to get rid of all the custom initcalls > for various drivers. And especially if adding dts mappings for > gpio-ranges to try to find some solution for the 1.158 issue that > keeps me from having a mainline GPIO PM regresion test with > pinging wl12xx during off idle :) > Ah. So, -EPROBE_DEFER was returned by of_gpiochip_add_pin_range(), I was not able to find a place where gpiochip_add() can return -EPROBE_DEFER ;) Thanks for clarification. -- regards, -grygorii -- 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
Re: [PATCH] gpio: omap: Fix gpiochip_add() handling for deferred probe
8/28/2015 11:44 AM, Tony Lindgren wrote: Currently we gpio-omap breaks if gpiochip_add() returns -EPROBE_DEFER: [0.57] gpiochip_add: GPIOs 0..31 (gpio) failed to register [0.57] omap_gpio 4831.gpio: Could not register gpio chip -517 ... [3.67] omap_gpio 4831.gpio: Unbalanced pm_runtime_enable! Let's fix the issue by adding the missing pm_runtime_put() on error. Cc: Grygorii Strashko grygorii.stras...@ti.com Cc: Javier Martinez Canillas jav...@dowhile0.org Cc: Kevin Hilman khil...@deeprootsystems.com Cc: Santosh Shilimkar ssant...@kernel.org Signed-off-by: Tony Lindgren t...@atomide.com --- drivers/gpio/gpio-omap.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) Acked-by: Santosh Shilimkar ssant...@kernel.org -- 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
[PATCH] gpio: omap: Fix gpiochip_add() handling for deferred probe
Currently we gpio-omap breaks if gpiochip_add() returns -EPROBE_DEFER: [0.57] gpiochip_add: GPIOs 0..31 (gpio) failed to register [0.57] omap_gpio 4831.gpio: Could not register gpio chip -517 ... [3.67] omap_gpio 4831.gpio: Unbalanced pm_runtime_enable! Let's fix the issue by adding the missing pm_runtime_put() on error. Cc: Grygorii Strashko grygorii.stras...@ti.com Cc: Javier Martinez Canillas jav...@dowhile0.org Cc: Kevin Hilman khil...@deeprootsystems.com Cc: Santosh Shilimkar ssant...@kernel.org Signed-off-by: Tony Lindgren t...@atomide.com --- drivers/gpio/gpio-omap.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index b0c57d5..f09bf0b 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c @@ -1232,8 +1232,11 @@ static int omap_gpio_probe(struct platform_device *pdev) omap_gpio_mod_init(bank); ret = omap_gpio_chip_init(bank, irqc); - if (ret) + if (ret) { + pm_runtime_put_sync(bank-dev); + pm_runtime_disable(bank-dev); return ret; + } omap_gpio_show_rev(bank); -- 2.1.4 -- 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