diff mbox series

media: platform: stm32: defer probe for auxiliary clock

Message ID 1579602152-7432-1-git-send-email-yannick.fertre@st.com (mailing list archive)
State New, archived
Headers show
Series media: platform: stm32: defer probe for auxiliary clock | expand

Commit Message

Yannick FERTRE Jan. 21, 2020, 10:22 a.m. UTC
From: Etienne Carriere <etienne.carriere@st.com>

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 <etienne.carriere@st.com>
---
 drivers/media/platform/stm32/stm32-cec.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Philippe CORNU Jan. 23, 2020, 9:52 a.m. UTC | #1
Dears Yannick & Etienne,
Thank you for your patch,

Reviewed-by: Philippe Cornu <philippe.cornu@st.com>

Philippe :-)

On 1/21/20 11:22 AM, Yannick Fertre wrote:
> From: Etienne Carriere <etienne.carriere@st.com>
> 
> 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 <etienne.carriere@st.com>
> ---
>   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;
>   		}
>   	}
>
diff mbox series

Patch

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;
 		}
 	}