Re: [PATCH v2] gpio: dwapb: Don't print error on -EPROBE_DEFER

From: Bartosz Golaszewski
Date: Fri Jun 10 2022 - 08:27:07 EST


On Fri, Jun 10, 2022 at 12:45 PM Serge Semin
<Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Currently if the APB or Debounce clocks aren't yet ready to be requested
> the DW GPIO driver will correctly handle that by deferring the probe
> procedure, but the error is still printed to the system log. It needlessly
> pollutes the log since there was no real error but a request to postpone
> the clock request procedure since the clocks subsystem hasn't been fully
> initialized yet. Let's fix that by using the dev_err_probe method to print
> the APB/clock request error status. It will correctly handle the deferred
> probe situation and print the error if it actually happens.
>
> Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
>
> ---
>
> Link: https://lore.kernel.org/linux-gpio/20220610075152.10214-1-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx/
> Changelog v2:
> - Use the dev_err_probe() return value as the return status of the
> corresponding method. (@Philipp Zabel)
> ---
> drivers/gpio/gpio-dwapb.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
> index b0f3aca61974..9467d695a33e 100644
> --- a/drivers/gpio/gpio-dwapb.c
> +++ b/drivers/gpio/gpio-dwapb.c
> @@ -652,10 +652,9 @@ static int dwapb_get_clks(struct dwapb_gpio *gpio)
> gpio->clks[1].id = "db";
> err = devm_clk_bulk_get_optional(gpio->dev, DWAPB_NR_CLOCKS,
> gpio->clks);
> - if (err) {
> - dev_err(gpio->dev, "Cannot get APB/Debounce clocks\n");
> - return err;
> - }
> + if (err)
> + return dev_err_probe(gpio->dev, err,
> + "Cannot get APB/Debounce clocks\n");
>
> err = clk_bulk_prepare_enable(DWAPB_NR_CLOCKS, gpio->clks);
> if (err) {
> --
> 2.35.1
>

Applied, thanks!

Bart