]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/mediatek: Log errors in probe with dev_err_probe()
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Thu, 6 Jun 2024 23:52:29 +0000 (19:52 -0400)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 27 Jun 2024 14:03:49 +0000 (14:03 +0000)
Use dev_err_probe() to log errors in the probe function of all drm
mediatek drivers. This avoids -EPROBE_DEFER return values from being
logged as errors, like the following:

  mediatek-disp-rdma 1c002000.rdma: Failed to add component: -517

As a side benefit it also standardizes the format of the error in the
log messages.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20240606-mtk-disp-rdma-dev-err-probe-v2-1-3898621767b8@collabora.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
15 files changed:
drivers/gpu/drm/mediatek/mtk_cec.c
drivers/gpu/drm/mediatek/mtk_disp_aal.c
drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
drivers/gpu/drm/mediatek/mtk_disp_color.c
drivers/gpu/drm/mediatek/mtk_disp_gamma.c
drivers/gpu/drm/mediatek/mtk_disp_merge.c
drivers/gpu/drm/mediatek/mtk_disp_ovl.c
drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
drivers/gpu/drm/mediatek/mtk_disp_rdma.c
drivers/gpu/drm/mediatek/mtk_dp.c
drivers/gpu/drm/mediatek/mtk_ethdr.c
drivers/gpu/drm/mediatek/mtk_hdmi.c
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
drivers/gpu/drm/mediatek/mtk_padding.c

index 8519e9bade361cd8ce2d9b464e4933e655b2e085..2de24844314743fe24d8395c06588ca39aa68750 100644 (file)
@@ -195,18 +195,14 @@ static int mtk_cec_probe(struct platform_device *pdev)
        spin_lock_init(&cec->lock);
 
        cec->regs = devm_platform_ioremap_resource(pdev, 0);
-       if (IS_ERR(cec->regs)) {
-               ret = PTR_ERR(cec->regs);
-               dev_err(dev, "Failed to ioremap cec: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(cec->regs))
+               return dev_err_probe(dev, PTR_ERR(cec->regs),
+                                    "Failed to ioremap cec\n");
 
        cec->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(cec->clk)) {
-               ret = PTR_ERR(cec->clk);
-               dev_err(dev, "Failed to get cec clock: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(cec->clk))
+               return dev_err_probe(dev, PTR_ERR(cec->clk),
+                                    "Failed to get cec clock\n");
 
        cec->irq = platform_get_irq(pdev, 0);
        if (cec->irq < 0)
@@ -216,16 +212,12 @@ static int mtk_cec_probe(struct platform_device *pdev)
                                        mtk_cec_htplg_isr_thread,
                                        IRQF_SHARED | IRQF_TRIGGER_LOW |
                                        IRQF_ONESHOT, "hdmi hpd", dev);
-       if (ret) {
-               dev_err(dev, "Failed to register cec irq: %d\n", ret);
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret, "Failed to register cec irq\n");
 
        ret = clk_prepare_enable(cec->clk);
-       if (ret) {
-               dev_err(dev, "Failed to enable cec clock: %d\n", ret);
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret, "Failed to enable cec clock\n");
 
        mtk_cec_htplg_irq_init(cec);
        mtk_cec_htplg_irq_enable(cec);
index 3ce8f32b06d51f7d67cc4044c6b58a5131dc83bb..59fb9a08d54bd23da88766309c7f1c16a1768470 100644 (file)
@@ -175,16 +175,14 @@ static int mtk_disp_aal_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get aal clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get aal clk\n");
 
        priv->regs = devm_platform_ioremap_resource(pdev, 0);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap aal\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap aal\n");
 
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
@@ -197,9 +195,9 @@ static int mtk_disp_aal_probe(struct platform_device *pdev)
 
        ret = component_add(dev, &mtk_disp_aal_component_ops);
        if (ret)
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_aal_remove(struct platform_device *pdev)
index df35e90dd25f5daf0b4c3f81859d54a707b8cb69..9b75727e0861c02f9d96564ca8be062c1c72c622 100644 (file)
@@ -160,16 +160,14 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get ccorr clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get ccorr clk\n");
 
        priv->regs = devm_platform_ioremap_resource(pdev, 0);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap ccorr\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap ccorr\n");
 
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
@@ -182,9 +180,9 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev)
 
        ret = component_add(dev, &mtk_disp_ccorr_component_ops);
        if (ret)
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_ccorr_remove(struct platform_device *pdev)
index 7f0085be56716cd263a113694679a0a48c6ca476..2fd5e7dc9e247c0b3a47c1fac9ba35ad6678dc38 100644 (file)
@@ -104,17 +104,15 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get color clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get color clk\n");
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        priv->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap color\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap color\n");
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
        if (ret)
@@ -126,9 +124,9 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
 
        ret = component_add(dev, &mtk_disp_color_component_ops);
        if (ret)
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_color_remove(struct platform_device *pdev)
index ca8d1f3aca0301afdf7b4e876cfd6290d20aab79..f0b38817ba6c74daf62ad736de055daa4c6e367c 100644 (file)
@@ -264,17 +264,15 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get gamma clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get gamma clk\n");
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        priv->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap gamma\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap gamma\n");
 
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
@@ -287,9 +285,9 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev)
 
        ret = component_add(dev, &mtk_disp_gamma_component_ops);
        if (ret)
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_gamma_remove(struct platform_device *pdev)
index 77c057e0e671e5f8986570dcc09cf574437aff1f..435e5d9c8520ed0c04b483ce2d5295c445573e47 100644 (file)
@@ -316,22 +316,19 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        priv->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap merge\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap merge\n");
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get merge clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get merge clk\n");
 
        priv->async_clk = devm_clk_get_optional(dev, "merge_async");
-       if (IS_ERR(priv->async_clk)) {
-               dev_err(dev, "failed to get merge async clock\n");
-               return PTR_ERR(priv->async_clk);
-       }
+       if (IS_ERR(priv->async_clk))
+               return dev_err_probe(dev, PTR_ERR(priv->async_clk),
+                                    "failed to get merge async clock\n");
 
        if (priv->async_clk) {
                priv->reset_ctl = devm_reset_control_get_optional_exclusive(dev, NULL);
@@ -354,9 +351,9 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
 
        ret = component_add(dev, &mtk_disp_merge_component_ops);
        if (ret != 0)
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_merge_remove(struct platform_device *pdev)
index d35f5b4b22c27d2ae18a7a3b5ab211af72d30011..9d6d9fd8342e413c839a8948efabbf9ae27e2ca8 100644 (file)
@@ -561,17 +561,15 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
                return irq;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get ovl clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get ovl clk\n");
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        priv->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap ovl\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap ovl\n");
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
        if (ret)
@@ -583,20 +581,18 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
 
        ret = devm_request_irq(dev, irq, mtk_disp_ovl_irq_handler,
                               IRQF_TRIGGER_NONE, dev_name(dev), priv);
-       if (ret < 0) {
-               dev_err(dev, "Failed to request irq %d: %d\n", irq, ret);
-               return ret;
-       }
+       if (ret < 0)
+               return dev_err_probe(dev, ret, "Failed to request irq %d\n", irq);
 
        pm_runtime_enable(dev);
 
        ret = component_add(dev, &mtk_disp_ovl_component_ops);
        if (ret) {
                pm_runtime_disable(dev);
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
        }
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_ovl_remove(struct platform_device *pdev)
index 2b62d64759181e9a280aa8fee9746bb7d63b1e5c..1a2a73757370bc9d3c362c92c9c2c51385bb72a9 100644 (file)
@@ -612,10 +612,10 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
        ret = component_add(dev, &mtk_disp_ovl_adaptor_comp_ops);
        if (ret != 0) {
                pm_runtime_disable(dev);
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
        }
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
index 7b1a6e631200f8825c31b96924989e4c8c32508b..634bbba5d43f21e974885e3216983a282dd3a714 100644 (file)
@@ -326,17 +326,15 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
                return irq;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get rdma clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get rdma clk\n");
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        priv->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap rdma\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap rdma\n");
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
        if (ret)
@@ -347,10 +345,9 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
                ret = of_property_read_u32(dev->of_node,
                                           "mediatek,rdma-fifo-size",
                                           &priv->fifo_size);
-               if (ret) {
-                       dev_err(dev, "Failed to get rdma fifo size\n");
-                       return ret;
-               }
+               if (ret)
+                       return dev_err_probe(dev, ret,
+                                            "Failed to get rdma fifo size\n");
        }
 
        /* Disable and clear pending interrupts */
@@ -359,10 +356,8 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
 
        ret = devm_request_irq(dev, irq, mtk_disp_rdma_irq_handler,
                               IRQF_TRIGGER_NONE, dev_name(dev), priv);
-       if (ret < 0) {
-               dev_err(dev, "Failed to request irq %d: %d\n", irq, ret);
-               return ret;
-       }
+       if (ret < 0)
+               return dev_err_probe(dev, ret, "Failed to request irq %d\n", irq);
 
        priv->data = of_device_get_match_data(dev);
 
@@ -373,10 +368,10 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
        ret = component_add(dev, &mtk_disp_rdma_component_ops);
        if (ret) {
                pm_runtime_disable(dev);
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
        }
 
-       return ret;
+       return 0;
 }
 
 static void mtk_disp_rdma_remove(struct platform_device *pdev)
index 536366956447ab297b5e5005dae781ef600014b2..ed335d888b2f5e9e156d106e8f4018a0ed79a6ae 100644 (file)
@@ -2655,11 +2655,9 @@ static int mtk_dp_probe(struct platform_device *pdev)
                mutex_init(&mtk_dp->update_plugged_status_lock);
 
                ret = mtk_dp_register_audio_driver(dev);
-               if (ret) {
-                       dev_err(dev, "Failed to register audio driver: %d\n",
-                               ret);
-                       return ret;
-               }
+               if (ret)
+                       return dev_err_probe(dev, ret,
+                                            "Failed to register audio driver\n");
        }
 
        ret = mtk_dp_register_phy(mtk_dp);
index 36021cb8df62de2a3ee106851a5ad7984dbaf251..9dfd13d32dfaae387a9393367e1fd4149ae1c6bc 100644 (file)
@@ -340,25 +340,24 @@ static int mtk_ethdr_probe(struct platform_device *pdev)
        if (priv->irq) {
                ret = devm_request_irq(dev, priv->irq, mtk_ethdr_irq_handler,
                                       IRQF_TRIGGER_NONE, dev_name(dev), priv);
-               if (ret < 0) {
-                       dev_err(dev, "Failed to request irq %d: %d\n", priv->irq, ret);
-                       return ret;
-               }
+               if (ret < 0)
+                       return dev_err_probe(dev, ret,
+                                            "Failed to request irq %d\n",
+                                            priv->irq);
        }
 
        priv->reset_ctl = devm_reset_control_array_get_optional_exclusive(dev);
-       if (IS_ERR(priv->reset_ctl)) {
-               dev_err_probe(dev, PTR_ERR(priv->reset_ctl), "cannot get ethdr reset control\n");
-               return PTR_ERR(priv->reset_ctl);
-       }
+       if (IS_ERR(priv->reset_ctl))
+               return dev_err_probe(dev, PTR_ERR(priv->reset_ctl),
+                                    "cannot get ethdr reset control\n");
 
        platform_set_drvdata(pdev, priv);
 
        ret = component_add(dev, &mtk_ethdr_component_ops);
        if (ret)
-               dev_notice(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
 
-       return ret;
+       return 0;
 }
 
 static void mtk_ethdr_remove(struct platform_device *pdev)
index 0a90fe448d14595de68916df933f21151231ced3..7687f673964ec7df0d76328a43ed76d71b192350 100644 (file)
@@ -1702,26 +1702,22 @@ static int mtk_hdmi_probe(struct platform_device *pdev)
                return ret;
 
        hdmi->phy = devm_phy_get(dev, "hdmi");
-       if (IS_ERR(hdmi->phy)) {
-               ret = PTR_ERR(hdmi->phy);
-               dev_err(dev, "Failed to get HDMI PHY: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(hdmi->phy))
+               return dev_err_probe(dev, PTR_ERR(hdmi->phy),
+                                    "Failed to get HDMI PHY\n");
 
        mutex_init(&hdmi->update_plugged_status_lock);
        platform_set_drvdata(pdev, hdmi);
 
        ret = mtk_hdmi_output_init(hdmi);
-       if (ret) {
-               dev_err(dev, "Failed to initialize hdmi output\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret,
+                                    "Failed to initialize hdmi output\n");
 
        ret = mtk_hdmi_register_audio_driver(dev);
-       if (ret) {
-               dev_err(dev, "Failed to register audio driver: %d\n", ret);
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret,
+                                    "Failed to register audio driver\n");
 
        hdmi->bridge.funcs = &mtk_hdmi_bridge_funcs;
        hdmi->bridge.of_node = pdev->dev.of_node;
@@ -1732,15 +1728,12 @@ static int mtk_hdmi_probe(struct platform_device *pdev)
 
        ret = mtk_hdmi_clk_enable_audio(hdmi);
        if (ret) {
-               dev_err(dev, "Failed to enable audio clocks: %d\n", ret);
-               goto err_bridge_remove;
+               drm_bridge_remove(&hdmi->bridge);
+               return dev_err_probe(dev, ret,
+                                    "Failed to enable audio clocks\n");
        }
 
        return 0;
-
-err_bridge_remove:
-       drm_bridge_remove(&hdmi->bridge);
-       return ret;
 }
 
 static void mtk_hdmi_remove(struct platform_device *pdev)
index 52d55861f954928b6eae6bb311af991e04aa1673..8e60631d4cd2a1031c3b06d470f8d968bc213762 100644 (file)
@@ -279,20 +279,17 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        ddc->clk = devm_clk_get(dev, "ddc-i2c");
-       if (IS_ERR(ddc->clk)) {
-               dev_err(dev, "get ddc_clk failed: %p ,\n", ddc->clk);
-               return PTR_ERR(ddc->clk);
-       }
+       if (IS_ERR(ddc->clk))
+               return dev_err_probe(dev, PTR_ERR(ddc->clk),
+                                    "get ddc_clk failed\n");
 
        ddc->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem);
        if (IS_ERR(ddc->regs))
                return PTR_ERR(ddc->regs);
 
        ret = clk_prepare_enable(ddc->clk);
-       if (ret) {
-               dev_err(dev, "enable ddc clk failed!\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret, "enable ddc clk failed!\n");
 
        strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
        ddc->adap.owner = THIS_MODULE;
@@ -304,8 +301,8 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
 
        ret = i2c_add_adapter(&ddc->adap);
        if (ret < 0) {
-               dev_err(dev, "failed to add bus to i2c core\n");
-               goto err_clk_disable;
+               clk_disable_unprepare(ddc->clk);
+               return dev_err_probe(dev, ret, "failed to add bus to i2c core\n");
        }
 
        platform_set_drvdata(pdev, ddc);
@@ -316,10 +313,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
                &mem->end);
 
        return 0;
-
-err_clk_disable:
-       clk_disable_unprepare(ddc->clk);
-       return ret;
 }
 
 static void mtk_hdmi_ddc_remove(struct platform_device *pdev)
index 925cbb7471ecd54273896254eea99195f5024a2a..7c1a8c7968337f992157c6225a8d0e16e6377ab7 100644 (file)
@@ -301,16 +301,14 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        priv->regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(priv->regs)) {
-               dev_err(dev, "failed to ioremap rdma\n");
-               return PTR_ERR(priv->regs);
-       }
+       if (IS_ERR(priv->regs))
+               return dev_err_probe(dev, PTR_ERR(priv->regs),
+                                    "failed to ioremap rdma\n");
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get rdma clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get rdma clk\n");
 
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
@@ -324,9 +322,9 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
        ret = component_add(dev, &mtk_mdp_rdma_component_ops);
        if (ret != 0) {
                pm_runtime_disable(dev);
-               dev_err(dev, "Failed to add component: %d\n", ret);
+               return dev_err_probe(dev, ret, "Failed to add component\n");
        }
-       return ret;
+       return 0;
 }
 
 static void mtk_mdp_rdma_remove(struct platform_device *pdev)
index 5296d39d2f3ac80550c430a52a7b2501ddaec8b0..4bebd13a07bd7291dcc1877822c40b158e18b44d 100644 (file)
@@ -103,23 +103,19 @@ static int mtk_padding_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        priv->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(priv->clk)) {
-               dev_err(dev, "failed to get clk\n");
-               return PTR_ERR(priv->clk);
-       }
+       if (IS_ERR(priv->clk))
+               return dev_err_probe(dev, PTR_ERR(priv->clk),
+                                    "failed to get clk\n");
 
        priv->reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
-       if (IS_ERR(priv->reg)) {
-               dev_err(dev, "failed to do ioremap\n");
-               return PTR_ERR(priv->reg);
-       }
+       if (IS_ERR(priv->reg))
+               return dev_err_probe(dev, PTR_ERR(priv->reg),
+                                    "failed to do ioremap\n");
 
 #if IS_REACHABLE(CONFIG_MTK_CMDQ)
        ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
-       if (ret) {
-               dev_err(dev, "failed to get gce client reg\n");
-               return ret;
-       }
+       if (ret)
+               return dev_err_probe(dev, ret, "failed to get gce client reg\n");
 #endif
 
        platform_set_drvdata(pdev, priv);