Message ID | 20201118142917.25752-1-grygorii.strashko@ti.com |
---|---|
State | Accepted |
Commit | 3cc1fb73993905b598da3802f87ac59411c52516 |
Headers | show |
Series | gpiolib: do not print err message for EPROBE_DEFER | expand |
hi Bartosz, All, On 18/11/2020 16:29, Grygorii Strashko wrote: > 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> > --- > drivers/gpio/gpiolib.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > index 089ddcaa9bc6..fd2c503a6aab 100644 > --- a/drivers/gpio/gpiolib.c > +++ b/drivers/gpio/gpiolib.c > @@ -771,9 +771,11 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data, > 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; > } > Any comments for this patch? Note. Modern dev_err_probe() seems can't be used as gpio_chip->parent is not guaranteed to be set and it's not clear if chip_err() still can be used at this stage. -- Best regards, grygorii
On Tue, Dec 1, 2020 at 6:16 PM Grygorii Strashko <grygorii.strashko@ti.com> wrote: > > hi Bartosz, All, > > On 18/11/2020 16:29, Grygorii Strashko wrote: > > 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> > > --- > > drivers/gpio/gpiolib.c | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > > index 089ddcaa9bc6..fd2c503a6aab 100644 > > --- a/drivers/gpio/gpiolib.c > > +++ b/drivers/gpio/gpiolib.c > > @@ -771,9 +771,11 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data, > > 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; > > } > > > > Any comments for this patch? > > Note. Modern dev_err_probe() seems can't be used as gpio_chip->parent is not guaranteed to be set and > it's not clear if chip_err() still can be used at this stage. > > -- > Best regards, > grygorii I applied this patch now. We seem to have a patch congestion on the list - I'm trying to get through unread email but more is coming everyday. :( Bartosz
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 089ddcaa9bc6..fd2c503a6aab 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -771,9 +771,11 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data, 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; }
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> --- drivers/gpio/gpiolib.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -- 2.17.1