2020-01-21 10:25:00

by Yannick FERTRE

[permalink] [raw]
Subject: [PATCH] media: platform: stm32: defer probe for auxiliary clock

From: Etienne Carriere <[email protected]>

Change stm32-cec driver to defer probe when auxiliary clock
"hdmi-cec" is registered in the system not has not been probed yet.

Signed-off-by: Etienne Carriere <[email protected]>
---
drivers/media/platform/stm32/stm32-cec.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/stm32/stm32-cec.c b/drivers/media/platform/stm32/stm32-cec.c
index 8a86b2c..543c9ec 100644
--- a/drivers/media/platform/stm32/stm32-cec.c
+++ b/drivers/media/platform/stm32/stm32-cec.c
@@ -302,10 +302,14 @@ static int stm32_cec_probe(struct platform_device *pdev)
}

cec->clk_hdmi_cec = devm_clk_get(&pdev->dev, "hdmi-cec");
+ if (IS_ERR(cec->clk_hdmi_cec) &&
+ PTR_ERR(cec->clk_hdmi_cec) == -EPROBE_DEFER)
+ return -EPROBE_DEFER;
+
if (!IS_ERR(cec->clk_hdmi_cec)) {
ret = clk_prepare(cec->clk_hdmi_cec);
if (ret) {
- dev_err(&pdev->dev, "Unable to prepare hdmi-cec clock\n");
+ dev_err(&pdev->dev, "Can't prepare hdmi-cec clock\n");
return ret;
}
}
--
2.7.4


2020-01-23 09:54:18

by Philippe Cornu

[permalink] [raw]
Subject: Re: [PATCH] media: platform: stm32: defer probe for auxiliary clock

Dears Yannick & Etienne,
Thank you for your patch,

Reviewed-by: Philippe Cornu <[email protected]>

Philippe :-)

On 1/21/20 11:22 AM, Yannick Fertre wrote:
> From: Etienne Carriere <[email protected]>
>
> Change stm32-cec driver to defer probe when auxiliary clock
> "hdmi-cec" is registered in the system not has not been probed yet.
>
> Signed-off-by: Etienne Carriere <[email protected]>
> ---
> drivers/media/platform/stm32/stm32-cec.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/stm32/stm32-cec.c b/drivers/media/platform/stm32/stm32-cec.c
> index 8a86b2c..543c9ec 100644
> --- a/drivers/media/platform/stm32/stm32-cec.c
> +++ b/drivers/media/platform/stm32/stm32-cec.c
> @@ -302,10 +302,14 @@ static int stm32_cec_probe(struct platform_device *pdev)
> }
>
> cec->clk_hdmi_cec = devm_clk_get(&pdev->dev, "hdmi-cec");
> + if (IS_ERR(cec->clk_hdmi_cec) &&
> + PTR_ERR(cec->clk_hdmi_cec) == -EPROBE_DEFER)
> + return -EPROBE_DEFER;
> +
> if (!IS_ERR(cec->clk_hdmi_cec)) {
> ret = clk_prepare(cec->clk_hdmi_cec);
> if (ret) {
> - dev_err(&pdev->dev, "Unable to prepare hdmi-cec clock\n");
> + dev_err(&pdev->dev, "Can't prepare hdmi-cec clock\n");
> return ret;
> }
> }
>