media: platform: stm32: defer probe for auxiliary clock
authorEtienne Carriere <etienne.carriere@st.com>
Tue, 21 Jan 2020 10:22:32 +0000 (11:22 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 12 Mar 2020 16:27:31 +0000 (17:27 +0100)
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>
Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/stm32/stm32-cec.c

index 8a86b2c..86f19af 100644 (file)
@@ -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;
                }
        }