gpiolib: do not print err message for EPROBE_DEFER
authorGrygorii Strashko <grygorii.strashko@ti.com>
Wed, 18 Nov 2020 14:29:17 +0000 (16:29 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Tue, 1 Dec 2020 18:02:12 +0000 (19:02 +0100)
The gpiochip may have dependencies from pinmux and so got deferred. Now it
will print error message every time -EPROBE_DEFER is returned which is
unnecessary:

"gpiochip_add_data_with_key: GPIOs 0..31 (gpio-0-31) failed to register, -517"

Hence, do suppress error message for -EPROBE_DEFER case.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpiolib.c

index a72d629..53aa1a2 100644 (file)
@@ -759,9 +759,11 @@ err_free_ida:
        ida_free(&gpio_ida, gdev->id);
 err_free_gdev:
        /* failures here can mean systems won't boot... */
-       pr_err("%s: GPIOs %d..%d (%s) failed to register, %d\n", __func__,
-              gdev->base, gdev->base + gdev->ngpio - 1,
-              gc->label ? : "generic", ret);
+       if (ret != -EPROBE_DEFER) {
+               pr_err("%s: GPIOs %d..%d (%s) failed to register, %d\n", __func__,
+                      gdev->base, gdev->base + gdev->ngpio - 1,
+                      gc->label ? : "generic", ret);
+       }
        kfree(gdev);
        return ret;
 }