2020-11-06 09:49:11

by Christophe Roullier

[permalink] [raw]
Subject: [PATCH 1/1] watchdog: stm32_iwdg: don't print an error on probe deferral

From: Etienne Carriere <[email protected]>

Do not print an error trace when deferring probe for clock resources.

Signed-off-by: Etienne Carriere <[email protected]>
Signed-off-by: Christophe Roullier <[email protected]>
---
drivers/watchdog/stm32_iwdg.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/watchdog/stm32_iwdg.c b/drivers/watchdog/stm32_iwdg.c
index 25188d6bbe15..1b71c205cee0 100644
--- a/drivers/watchdog/stm32_iwdg.c
+++ b/drivers/watchdog/stm32_iwdg.c
@@ -163,7 +163,8 @@ static int stm32_iwdg_clk_init(struct platform_device *pdev,

wdt->clk_lsi = devm_clk_get(dev, "lsi");
if (IS_ERR(wdt->clk_lsi)) {
- dev_err(dev, "Unable to get lsi clock\n");
+ if (PTR_ERR(wdt->clk_lsi) != -EPROBE_DEFER)
+ dev_err(dev, "Unable to get lsi clock\n");
return PTR_ERR(wdt->clk_lsi);
}

@@ -171,7 +172,8 @@ static int stm32_iwdg_clk_init(struct platform_device *pdev,
if (wdt->data->has_pclk) {
wdt->clk_pclk = devm_clk_get(dev, "pclk");
if (IS_ERR(wdt->clk_pclk)) {
- dev_err(dev, "Unable to get pclk clock\n");
+ if (PTR_ERR(wdt->clk_pclk) != -EPROBE_DEFER)
+ dev_err(dev, "Unable to get pclk clock\n");
return PTR_ERR(wdt->clk_pclk);
}

--
2.17.1


2020-11-06 09:50:33

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [Linux-stm32] [PATCH 1/1] watchdog: stm32_iwdg: don't print an error on probe deferral

Hello Christophe,

On 11/6/20 10:46 AM, Christophe Roullier wrote:
> From: Etienne Carriere <[email protected]>
>
> Do not print an error trace when deferring probe for clock resources.
>
> Signed-off-by: Etienne Carriere <[email protected]>
> Signed-off-by: Christophe Roullier <[email protected]>
> ---
> drivers/watchdog/stm32_iwdg.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/watchdog/stm32_iwdg.c b/drivers/watchdog/stm32_iwdg.c
> index 25188d6bbe15..1b71c205cee0 100644
> --- a/drivers/watchdog/stm32_iwdg.c
> +++ b/drivers/watchdog/stm32_iwdg.c
> @@ -163,7 +163,8 @@ static int stm32_iwdg_clk_init(struct platform_device *pdev,
>
> wdt->clk_lsi = devm_clk_get(dev, "lsi");
> if (IS_ERR(wdt->clk_lsi)) {
> - dev_err(dev, "Unable to get lsi clock\n");
> + if (PTR_ERR(wdt->clk_lsi) != -EPROBE_DEFER)
> + dev_err(dev, "Unable to get lsi clock\n");

Can you use dev_err_probe instead?

Cheers,
Ahmad

> return PTR_ERR(wdt->clk_lsi);
> }
>
> @@ -171,7 +172,8 @@ static int stm32_iwdg_clk_init(struct platform_device *pdev,
> if (wdt->data->has_pclk) {
> wdt->clk_pclk = devm_clk_get(dev, "pclk");
> if (IS_ERR(wdt->clk_pclk)) {
> - dev_err(dev, "Unable to get pclk clock\n");
> + if (PTR_ERR(wdt->clk_pclk) != -EPROBE_DEFER)
> + dev_err(dev, "Unable to get pclk clock\n");
> return PTR_ERR(wdt->clk_pclk);
> }
>
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-11-06 13:09:03

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 1/1] watchdog: stm32_iwdg: don't print an error on probe deferral

On Fri, Nov 06, 2020 at 10:46:27AM +0100, Christophe Roullier wrote:
> From: Etienne Carriere <[email protected]>
>
> Do not print an error trace when deferring probe for clock resources.
>
> Signed-off-by: Etienne Carriere <[email protected]>
> Signed-off-by: Christophe Roullier <[email protected]>
> ---
> drivers/watchdog/stm32_iwdg.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/watchdog/stm32_iwdg.c b/drivers/watchdog/stm32_iwdg.c
> index 25188d6bbe15..1b71c205cee0 100644
> --- a/drivers/watchdog/stm32_iwdg.c
> +++ b/drivers/watchdog/stm32_iwdg.c
> @@ -163,7 +163,8 @@ static int stm32_iwdg_clk_init(struct platform_device *pdev,
>
> wdt->clk_lsi = devm_clk_get(dev, "lsi");
> if (IS_ERR(wdt->clk_lsi)) {
> - dev_err(dev, "Unable to get lsi clock\n");
> + if (PTR_ERR(wdt->clk_lsi) != -EPROBE_DEFER)
> + dev_err(dev, "Unable to get lsi clock\n");
> return PTR_ERR(wdt->clk_lsi);

I would suggest to use
return dev_err_probe(dev, PTR_ERR(wdt->clk_lsi), "Unable to get lsi clock\n");

Guenter

> }
>
> @@ -171,7 +172,8 @@ static int stm32_iwdg_clk_init(struct platform_device *pdev,
> if (wdt->data->has_pclk) {
> wdt->clk_pclk = devm_clk_get(dev, "pclk");
> if (IS_ERR(wdt->clk_pclk)) {
> - dev_err(dev, "Unable to get pclk clock\n");
> + if (PTR_ERR(wdt->clk_pclk) != -EPROBE_DEFER)
> + dev_err(dev, "Unable to get pclk clock\n");
> return PTR_ERR(wdt->clk_pclk);
> }
>
> --
> 2.17.1
>