]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/mediatek: Omit warning on probe defers
authorMatthias Brugger <mbrugger@suse.com>
Wed, 25 Mar 2020 17:31:19 +0000 (18:31 +0100)
committerMatthias Brugger <matthias.bgg@gmail.com>
Mon, 13 Apr 2020 11:01:16 +0000 (13:01 +0200)
It can happen that the mmsys clock drivers aren't probed before the
platform driver gets invoked. The platform driver used to print a warning
that the driver failed to get the clocks. Omit this error on
the defered probe path.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/gpu/drm/mediatek/mtk_disp_color.c
drivers/gpu/drm/mediatek/mtk_disp_ovl.c
drivers/gpu/drm/mediatek/mtk_disp_rdma.c
drivers/gpu/drm/mediatek/mtk_dpi.c
drivers/gpu/drm/mediatek/mtk_drm_ddp.c
drivers/gpu/drm/mediatek/mtk_dsi.c
drivers/gpu/drm/mediatek/mtk_hdmi.c

index 6fb0d6983a4a507ccfb9ce5e8b9085410025f222..3ae9c810845bbfebb49f36a232fc7eaec5f8dc63 100644 (file)
@@ -119,7 +119,10 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
        ret = mtk_ddp_comp_init(dev, dev->of_node, &priv->ddp_comp, comp_id,
                                &mtk_disp_color_funcs);
        if (ret) {
-               dev_err(dev, "Failed to initialize component: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to initialize component: %d\n",
+                               ret);
+
                return ret;
        }
 
index 891d80c73e0452f2a39337c8287c76bb77d985d8..28651bc579bc9237e99b89cf8ad45e63d15d24d5 100644 (file)
@@ -386,7 +386,10 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
        ret = mtk_ddp_comp_init(dev, dev->of_node, &priv->ddp_comp, comp_id,
                                &mtk_disp_ovl_funcs);
        if (ret) {
-               dev_err(dev, "Failed to initialize component: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to initialize component: %d\n",
+                               ret);
+
                return ret;
        }
 
index 0cb848d642065ec67a18e2eaf8882f7f6fa90d9c..e04319fedf463e47ae3c54677471ec3c6c8aa5ad 100644 (file)
@@ -294,7 +294,10 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
        ret = mtk_ddp_comp_init(dev, dev->of_node, &priv->ddp_comp, comp_id,
                                &mtk_disp_rdma_funcs);
        if (ret) {
-               dev_err(dev, "Failed to initialize component: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to initialize component: %d\n",
+                               ret);
+
                return ret;
        }
 
index 4f0ce4cd5b8ca3d21b139a0f8550ec0401e2e338..7fbfa95bab09ba0871c08500509973875477802e 100644 (file)
@@ -716,21 +716,27 @@ static int mtk_dpi_probe(struct platform_device *pdev)
        dpi->engine_clk = devm_clk_get(dev, "engine");
        if (IS_ERR(dpi->engine_clk)) {
                ret = PTR_ERR(dpi->engine_clk);
-               dev_err(dev, "Failed to get engine clock: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to get engine clock: %d\n", ret);
+
                return ret;
        }
 
        dpi->pixel_clk = devm_clk_get(dev, "pixel");
        if (IS_ERR(dpi->pixel_clk)) {
                ret = PTR_ERR(dpi->pixel_clk);
-               dev_err(dev, "Failed to get pixel clock: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to get pixel clock: %d\n", ret);
+
                return ret;
        }
 
        dpi->tvd_clk = devm_clk_get(dev, "pll");
        if (IS_ERR(dpi->tvd_clk)) {
                ret = PTR_ERR(dpi->tvd_clk);
-               dev_err(dev, "Failed to get tvdpll clock: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to get tvdpll clock: %d\n", ret);
+
                return ret;
        }
 
index 13035c906035107b52c42e79fedf464efd163e12..b885f60f474c28f369ef5076f5c474367ef315ba 100644 (file)
@@ -628,7 +628,8 @@ static int mtk_ddp_probe(struct platform_device *pdev)
        if (!ddp->data->no_clk) {
                ddp->clk = devm_clk_get(dev, NULL);
                if (IS_ERR(ddp->clk)) {
-                       dev_err(dev, "Failed to get clock\n");
+                       if (PTR_ERR(ddp->clk) != -EPROBE_DEFER)
+                               dev_err(dev, "Failed to get clock\n");
                        return PTR_ERR(ddp->clk);
                }
        }
index 0ede69830a9dd0c170de57c263f9b89b722fb1f1..cfa45d6abd7426bb4d4b19aeecd1660590dcd4a6 100644 (file)
@@ -1194,14 +1194,18 @@ static int mtk_dsi_probe(struct platform_device *pdev)
        dsi->engine_clk = devm_clk_get(dev, "engine");
        if (IS_ERR(dsi->engine_clk)) {
                ret = PTR_ERR(dsi->engine_clk);
-               dev_err(dev, "Failed to get engine clock: %d\n", ret);
+
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to get engine clock: %d\n", ret);
                goto err_unregister_host;
        }
 
        dsi->digital_clk = devm_clk_get(dev, "digital");
        if (IS_ERR(dsi->digital_clk)) {
                ret = PTR_ERR(dsi->digital_clk);
-               dev_err(dev, "Failed to get digital clock: %d\n", ret);
+
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to get digital clock: %d\n", ret);
                goto err_unregister_host;
        }
 
index ff43a3d80410f2989b38e05a08ad34d3a3d12726..b0555a7cb3b46a45402e6167acb67f88cf645cfe 100644 (file)
@@ -1474,7 +1474,9 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi,
 
        ret = mtk_hdmi_get_all_clk(hdmi, np);
        if (ret) {
-               dev_err(dev, "Failed to get clocks: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(dev, "Failed to get clocks: %d\n", ret);
+
                return ret;
        }