gpio: omap: handle deferred probe with dev_err_probe() for gpiochip_add_data()

Message ID 20201118143149.26067-1-grygorii.strashko@ti.com
State Accepted
Commit 2ae136a34fce9bbeb7c582449b03bd4e05aac565
Headers show
Series
  • gpio: omap: handle deferred probe with dev_err_probe() for gpiochip_add_data()
Related show

Commit Message

Grygorii Strashko Nov. 18, 2020, 2:31 p.m.
The gpiochip_add_data() may return -EPROBE_DEFER which is not handled
properly by TI GPIO driver and causes unnecessary boot log messages.

Hence, add proper deferred probe handling with new dev_err_probe() API.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

---
 drivers/gpio/gpio-omap.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

-- 
2.17.1

Comments

Tony Lindgren Nov. 19, 2020, 9:19 a.m. | #1
* Grygorii Strashko <grygorii.strashko@ti.com> [201118 14:33]:
> The gpiochip_add_data() may return -EPROBE_DEFER which is not handled
> properly by TI GPIO driver and causes unnecessary boot log messages.
> 
> Hence, add proper deferred probe handling with new dev_err_probe() API.
> 
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

Acked-by: Tony Lindgren <tony@atomide.com>
Grygorii Strashko Nov. 30, 2020, 10:33 a.m. | #2
Hi All,

On 19/11/2020 11:19, Tony Lindgren wrote:
> * Grygorii Strashko <grygorii.strashko@ti.com> [201118 14:33]:

>> The gpiochip_add_data() may return -EPROBE_DEFER which is not handled

>> properly by TI GPIO driver and causes unnecessary boot log messages.

>>

>> Hence, add proper deferred probe handling with new dev_err_probe() API.

>>

>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

> 

> Acked-by: Tony Lindgren <tony@atomide.com>

> 


Are there any comments? Could it be merged?
On am335 we no do see ~10 annoying error  messages during boot as there now is
dependency from pinctrl on this platform.

-- 
Best regards,
grygorii
Bartosz Golaszewski Nov. 30, 2020, 4:39 p.m. | #3
On Wed, Nov 18, 2020 at 3:31 PM Grygorii Strashko
<grygorii.strashko@ti.com> wrote:
>

> The gpiochip_add_data() may return -EPROBE_DEFER which is not handled

> properly by TI GPIO driver and causes unnecessary boot log messages.

>

> Hence, add proper deferred probe handling with new dev_err_probe() API.

>

> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>

> ---

>  drivers/gpio/gpio-omap.c | 7 ++-----

>  1 file changed, 2 insertions(+), 5 deletions(-)

>

> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c

> index f7ceb2b11afc..41952bb818ad 100644

> --- a/drivers/gpio/gpio-omap.c

> +++ b/drivers/gpio/gpio-omap.c

> @@ -1049,11 +1049,8 @@ static int omap_gpio_chip_init(struct gpio_bank *bank, struct irq_chip *irqc)

>         irq->first = irq_base;

>

>         ret = gpiochip_add_data(&bank->chip, bank);

> -       if (ret) {

> -               dev_err(bank->chip.parent,

> -                       "Could not register gpio chip %d\n", ret);

> -               return ret;

> -       }

> +       if (ret)

> +               return dev_err_probe(bank->chip.parent, ret, "Could not register gpio chip\n");

>

>         ret = devm_request_irq(bank->chip.parent, bank->irq,

>                                omap_gpio_irq_handler,

> --

> 2.17.1

>


Now applied. Thanks!

Bartosz

Patch

diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index f7ceb2b11afc..41952bb818ad 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1049,11 +1049,8 @@  static int omap_gpio_chip_init(struct gpio_bank *bank, struct irq_chip *irqc)
 	irq->first = irq_base;
 
 	ret = gpiochip_add_data(&bank->chip, bank);
-	if (ret) {
-		dev_err(bank->chip.parent,
-			"Could not register gpio chip %d\n", ret);
-		return ret;
-	}
+	if (ret)
+		return dev_err_probe(bank->chip.parent, ret, "Could not register gpio chip\n");
 
 	ret = devm_request_irq(bank->chip.parent, bank->irq,
 			       omap_gpio_irq_handler,