gpio: omap: handle deferred probe with dev_err_probe() for gpiochip_add_data()
authorGrygorii Strashko <grygorii.strashko@ti.com>
Wed, 18 Nov 2020 14:31:49 +0000 (16:31 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 30 Nov 2020 16:38:28 +0000 (17:38 +0100)
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>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-omap.c

index 6d59e3a..e0a60ac 100644 (file)
@@ -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,