* [PATCH 0/3] drm/mediatek: General cleanups
@ 2023-06-08 10:12 AngeloGioacchino Del Regno
2023-06-08 10:12 ` [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource() AngeloGioacchino Del Regno
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-06-08 10:12 UTC (permalink / raw
To: chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, angelogioacchino.delregno,
dri-devel, linux-mediatek, linux-kernel, linux-arm-kernel, kernel
This series performs some cleanups in drm/mediatek; specifically, changes
it to use devm_platform_get_and_ioremap_resource(), dev_err_probe() and
devm_pm_runtime_enable, hence harmonizing log formats and removing some
unneeded lines of code.
AngeloGioacchino Del Regno (3):
drm/mediatek: Use devm_platform_get_and_ioremap_resource()
drm/mediatek: Use dev_err_probe() in probe functions
drm/mediatek: Use devm variant for pm_runtime_enable() when possible
drivers/gpu/drm/mediatek/mtk_cec.c | 29 ++++---------
drivers/gpu/drm/mediatek/mtk_disp_aal.c | 21 ++++-----
drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 19 +++-----
drivers/gpu/drm/mediatek/mtk_disp_color.c | 22 ++++------
drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 19 +++-----
drivers/gpu/drm/mediatek/mtk_disp_merge.c | 28 +++++-------
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 26 +++++------
.../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 13 +++---
drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 43 +++++++------------
drivers/gpu/drm/mediatek/mtk_dsi.c | 21 ++++-----
drivers/gpu/drm/mediatek/mtk_ethdr.c | 18 ++++----
drivers/gpu/drm/mediatek/mtk_hdmi.c | 17 +++-----
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 15 +++----
drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 29 ++++++-------
14 files changed, 121 insertions(+), 199 deletions(-)
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource()
2023-06-08 10:12 [PATCH 0/3] drm/mediatek: General cleanups AngeloGioacchino Del Regno
@ 2023-06-08 10:12 ` AngeloGioacchino Del Regno
2023-06-21 8:51 ` Alexandre Mergnat
2023-07-04 6:28 ` CK Hu (胡俊光)
2023-06-08 10:12 ` [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions AngeloGioacchino Del Regno
2023-06-08 10:12 ` [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible AngeloGioacchino Del Regno
2 siblings, 2 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-06-08 10:12 UTC (permalink / raw
To: chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, angelogioacchino.delregno,
dri-devel, linux-mediatek, linux-kernel, linux-arm-kernel, kernel
Instead of open coding calls to platform_get_resource() followed by
devm_ioremap_resource(), perform a single call to the helper
devm_platform_get_and_ioremap_resource().
This commit brings no functional changes.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
drivers/gpu/drm/mediatek/mtk_cec.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_aal.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_color.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_merge.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 3 +--
drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 3 +--
drivers/gpu/drm/mediatek/mtk_dsi.c | 3 +--
drivers/gpu/drm/mediatek/mtk_hdmi.c | 3 +--
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 3 +--
drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 3 +--
12 files changed, 12 insertions(+), 24 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_cec.c b/drivers/gpu/drm/mediatek/mtk_cec.c
index b640bc0559e7..5136aada9023 100644
--- a/drivers/gpu/drm/mediatek/mtk_cec.c
+++ b/drivers/gpu/drm/mediatek/mtk_cec.c
@@ -195,8 +195,7 @@ static int mtk_cec_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, cec);
spin_lock_init(&cec->lock);
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- cec->regs = devm_ioremap_resource(dev, res);
+ cec->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(cec->regs)) {
ret = PTR_ERR(cec->regs);
dev_err(dev, "Failed to ioremap cec: %d\n", ret);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
index 8ddf7a97e583..68485c09ad8f 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
@@ -117,8 +117,7 @@ static int mtk_disp_aal_probe(struct platform_device *pdev)
return PTR_ERR(priv->clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap aal\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c b/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
index 1773379b2439..ae243e7db9b2 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
@@ -172,8 +172,7 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev)
return PTR_ERR(priv->clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap ccorr\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_color.c b/drivers/gpu/drm/mediatek/mtk_disp_color.c
index cac9206079e7..4ec37e20ade9 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_color.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_color.c
@@ -110,8 +110,7 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
return PTR_ERR(priv->clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap color\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
index bd530e603264..cf9262aa4f89 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
@@ -276,8 +276,7 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev)
return PTR_ERR(priv->clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap gamma\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_merge.c b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
index 6428b6203ffe..f1dfa6dfd967 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_merge.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
@@ -250,8 +250,7 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
if (!priv)
return -ENOMEM;
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap merge\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
index 8f52cc1f3fba..a0b0a1eb91c9 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
@@ -529,8 +529,7 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
return PTR_ERR(priv->clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap ovl\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
index d4df17ad600a..7106c05127b1 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
@@ -332,8 +332,7 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
return PTR_ERR(priv->clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap rdma\n");
return PTR_ERR(priv->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index 19e2b042c9d5..fb6f45165e95 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -1113,8 +1113,7 @@ static int mtk_dsi_probe(struct platform_device *pdev)
goto err_unregister_host;
}
- regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- dsi->regs = devm_ioremap_resource(dev, regs);
+ dsi->regs = devm_platform_get_and_ioremap_resource(pdev, 0, ®s);
if (IS_ERR(dsi->regs)) {
ret = PTR_ERR(dsi->regs);
dev_err(dev, "Failed to ioremap memory: %d\n", ret);
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index 0a8e0a13f516..0c784db9978b 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -1474,8 +1474,7 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi,
}
hdmi->sys_regmap = regmap;
- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- hdmi->regs = devm_ioremap_resource(dev, mem);
+ hdmi->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem);
if (IS_ERR(hdmi->regs)) {
ret = PTR_ERR(hdmi->regs);
goto put_device;
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index 4d39ea0a05ca..dfd1f07b39f0 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -284,8 +284,7 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
return PTR_ERR(ddc->clk);
}
- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- ddc->regs = devm_ioremap_resource(&pdev->dev, mem);
+ ddc->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem);
if (IS_ERR(ddc->regs))
return PTR_ERR(ddc->regs);
diff --git a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
index e06db6e56b5f..4eac4cbc0764 100644
--- a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
@@ -285,8 +285,7 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
if (!priv)
return -ENOMEM;
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- priv->regs = devm_ioremap_resource(dev, res);
+ priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->regs)) {
dev_err(dev, "failed to ioremap rdma\n");
return PTR_ERR(priv->regs);
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions
2023-06-08 10:12 [PATCH 0/3] drm/mediatek: General cleanups AngeloGioacchino Del Regno
2023-06-08 10:12 ` [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource() AngeloGioacchino Del Regno
@ 2023-06-08 10:12 ` AngeloGioacchino Del Regno
2023-06-21 9:33 ` Alexandre Mergnat
2023-07-04 6:52 ` CK Hu (胡俊光)
2023-06-08 10:12 ` [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible AngeloGioacchino Del Regno
2 siblings, 2 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-06-08 10:12 UTC (permalink / raw
To: chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, angelogioacchino.delregno,
dri-devel, linux-mediatek, linux-kernel, linux-arm-kernel, kernel
Convert all instances of dev_err() -> return to dev_err_probe() and
where it makes sense to, change instances of `return ret` at the end
of probe functions to `return 0`, as errors are returned earlier.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
drivers/gpu/drm/mediatek/mtk_cec.c | 26 +++++------------
drivers/gpu/drm/mediatek/mtk_disp_aal.c | 16 ++++------
drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 16 ++++------
drivers/gpu/drm/mediatek/mtk_disp_color.c | 17 +++++------
drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 16 ++++------
drivers/gpu/drm/mediatek/mtk_disp_merge.c | 25 +++++++---------
drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 23 ++++++---------
.../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 6 ++--
drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 29 +++++++------------
drivers/gpu/drm/mediatek/mtk_dsi.c | 18 +++++-------
drivers/gpu/drm/mediatek/mtk_ethdr.c | 18 +++++-------
drivers/gpu/drm/mediatek/mtk_hdmi.c | 14 +++------
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 12 +++-----
drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 18 +++++-------
14 files changed, 96 insertions(+), 158 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_cec.c b/drivers/gpu/drm/mediatek/mtk_cec.c
index 5136aada9023..f12ee86c2b74 100644
--- a/drivers/gpu/drm/mediatek/mtk_cec.c
+++ b/drivers/gpu/drm/mediatek/mtk_cec.c
@@ -196,18 +196,12 @@ static int mtk_cec_probe(struct platform_device *pdev)
spin_lock_init(&cec->lock);
cec->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
- 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)
@@ -217,16 +211,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);
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
index 68485c09ad8f..17a4d4a3b040 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
@@ -112,16 +112,12 @@ 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_get_and_ioremap_resource(pdev, 0, &res);
- 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);
@@ -134,9 +130,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 int mtk_disp_aal_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c b/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
index ae243e7db9b2..3f4bf7319f17 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
@@ -167,16 +167,12 @@ 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_get_and_ioremap_resource(pdev, 0, &res);
- 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);
@@ -189,9 +185,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 int mtk_disp_ccorr_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_color.c b/drivers/gpu/drm/mediatek/mtk_disp_color.c
index 4ec37e20ade9..b188d3393f99 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_color.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_color.c
@@ -105,16 +105,13 @@ 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");
priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &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 +123,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 int mtk_disp_color_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
index cf9262aa4f89..1bf709bac0cf 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
@@ -271,16 +271,12 @@ 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");
priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &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);
@@ -293,9 +289,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 int mtk_disp_gamma_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_merge.c b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
index f1dfa6dfd967..60e0b4e70978 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_merge.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
@@ -251,22 +251,17 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
return -ENOMEM;
priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &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 clock\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);
@@ -288,10 +283,10 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, priv);
ret = component_add(dev, &mtk_disp_merge_component_ops);
- if (ret != 0)
- dev_err(dev, "Failed to add component: %d\n", ret);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to add component\n");
- return ret;
+ return 0;
}
static int mtk_disp_merge_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
index a0b0a1eb91c9..4c00e42ef0a8 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
@@ -524,16 +524,13 @@ 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");
priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &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)
@@ -545,20 +542,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 int mtk_disp_ovl_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index c0a38f5217ee..1993b688befa 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -522,12 +522,12 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
ret = component_add(dev, &mtk_disp_ovl_adaptor_comp_ops);
- if (ret != 0) {
+ 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 int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
index 7106c05127b1..307be35b59fc 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
@@ -327,16 +327,13 @@ 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");
priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &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 +344,8 @@ 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 +354,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 +366,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 int mtk_disp_rdma_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index fb6f45165e95..fc8149e0ae3d 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -1081,10 +1081,8 @@ static int mtk_dsi_probe(struct platform_device *pdev)
dsi->host.ops = &mtk_dsi_ops;
dsi->host.dev = dev;
ret = mipi_dsi_host_register(&dsi->host);
- if (ret < 0) {
- dev_err(dev, "failed to register DSI host: %d\n", ret);
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(dev, ret, "failed to register DSI host\n");
dsi->driver_data = of_device_get_match_data(dev);
@@ -1092,8 +1090,7 @@ static int mtk_dsi_probe(struct platform_device *pdev)
if (IS_ERR(dsi->engine_clk)) {
ret = PTR_ERR(dsi->engine_clk);
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "Failed to get engine clock: %d\n", ret);
+ dev_err_probe(dev, ret, "Failed to get engine clock\n");
goto err_unregister_host;
}
@@ -1101,29 +1098,28 @@ static int mtk_dsi_probe(struct platform_device *pdev)
if (IS_ERR(dsi->digital_clk)) {
ret = PTR_ERR(dsi->digital_clk);
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "Failed to get digital clock: %d\n", ret);
+ dev_err_probe(dev, ret, "Failed to get digital clock\n");
goto err_unregister_host;
}
dsi->hs_clk = devm_clk_get(dev, "hs");
if (IS_ERR(dsi->hs_clk)) {
ret = PTR_ERR(dsi->hs_clk);
- dev_err(dev, "Failed to get hs clock: %d\n", ret);
+ dev_err_probe(dev, ret, "Failed to get hs clock\n");
goto err_unregister_host;
}
dsi->regs = devm_platform_get_and_ioremap_resource(pdev, 0, ®s);
if (IS_ERR(dsi->regs)) {
ret = PTR_ERR(dsi->regs);
- dev_err(dev, "Failed to ioremap memory: %d\n", ret);
+ dev_err_probe(dev, ret, "Failed to ioremap memory\n");
goto err_unregister_host;
}
dsi->phy = devm_phy_get(dev, "dphy");
if (IS_ERR(dsi->phy)) {
ret = PTR_ERR(dsi->phy);
- dev_err(dev, "Failed to get MIPI-DPHY: %d\n", ret);
+ dev_err_probe(dev, ret, "Failed to get MIPI-DPHY\n");
goto err_unregister_host;
}
diff --git a/drivers/gpu/drm/mediatek/mtk_ethdr.c b/drivers/gpu/drm/mediatek/mtk_ethdr.c
index 73dc4da3ba3b..4a5bd5bb9d6e 100644
--- a/drivers/gpu/drm/mediatek/mtk_ethdr.c
+++ b/drivers/gpu/drm/mediatek/mtk_ethdr.c
@@ -325,25 +325,23 @@ 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 int mtk_ethdr_remove(struct platform_device *pdev)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index 0c784db9978b..7066c70d7eaf 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -1432,19 +1432,13 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi,
int ret;
ret = mtk_hdmi_get_all_clk(hdmi, np);
- if (ret) {
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "Failed to get clocks: %d\n", ret);
-
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to get clocks\n");
/* The CEC module handles HDMI hotplug detection */
cec_np = of_get_compatible_child(np->parent, "mediatek,mt8173-cec");
- if (!cec_np) {
- dev_err(dev, "Failed to find CEC node\n");
- return -EINVAL;
- }
+ if (!cec_np)
+ return dev_err_probe(dev, -EINVAL, "Failed to find CEC node\n");
cec_pdev = of_find_device_by_node(cec_np);
if (!cec_pdev) {
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
index dfd1f07b39f0..e4bfef13e0e5 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
@@ -279,20 +279,16 @@ 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;
diff --git a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
index 4eac4cbc0764..ed519b5a3273 100644
--- a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
@@ -286,16 +286,12 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
return -ENOMEM;
priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &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);
@@ -307,11 +303,11 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
ret = component_add(dev, &mtk_mdp_rdma_component_ops);
- if (ret != 0) {
+ 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 int mtk_mdp_rdma_remove(struct platform_device *pdev)
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible
2023-06-08 10:12 [PATCH 0/3] drm/mediatek: General cleanups AngeloGioacchino Del Regno
2023-06-08 10:12 ` [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource() AngeloGioacchino Del Regno
2023-06-08 10:12 ` [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions AngeloGioacchino Del Regno
@ 2023-06-08 10:12 ` AngeloGioacchino Del Regno
2023-06-21 9:36 ` Alexandre Mergnat
2023-07-04 9:24 ` CK Hu (胡俊光)
2 siblings, 2 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-06-08 10:12 UTC (permalink / raw
To: chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, angelogioacchino.delregno,
dri-devel, linux-mediatek, linux-kernel, linux-arm-kernel, kernel
Simplify the error path of return functions and drop the call to
pm_runtime_disable() in remove functions by switching to
devm_pm_runtime_enable() where possible.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 9 ++++-----
drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 11 ++++-------
drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 10 +++++-----
3 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 1993b688befa..14e8ad6c78c3 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -519,13 +519,13 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
component_master_add_with_match(dev, &mtk_disp_ovl_adaptor_master_ops, match);
- pm_runtime_enable(dev);
+ ret = devm_pm_runtime_enable(dev);
+ if (ret)
+ return ret;
ret = component_add(dev, &mtk_disp_ovl_adaptor_comp_ops);
- if (ret) {
- pm_runtime_disable(dev);
+ if (ret)
return dev_err_probe(dev, ret, "Failed to add component\n");
- }
return 0;
}
@@ -533,7 +533,6 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev)
static int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
{
component_master_del(&pdev->dev, &mtk_disp_ovl_adaptor_master_ops);
- pm_runtime_disable(&pdev->dev);
return 0;
}
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
index 307be35b59fc..5e90b6d593f5 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
@@ -361,13 +361,13 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, priv);
- pm_runtime_enable(dev);
+ ret = devm_pm_runtime_enable(dev);
+ if (ret)
+ return ret;
ret = component_add(dev, &mtk_disp_rdma_component_ops);
- if (ret) {
- pm_runtime_disable(dev);
+ if (ret)
return dev_err_probe(dev, ret, "Failed to add component\n");
- }
return 0;
}
@@ -375,9 +375,6 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
static int mtk_disp_rdma_remove(struct platform_device *pdev)
{
component_del(&pdev->dev, &mtk_disp_rdma_component_ops);
-
- pm_runtime_disable(&pdev->dev);
-
return 0;
}
diff --git a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
index ed519b5a3273..93ef05ec9720 100644
--- a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
+++ b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
@@ -300,20 +300,20 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
#endif
platform_set_drvdata(pdev, priv);
- pm_runtime_enable(dev);
+ ret = devm_pm_runtime_enable(dev);
+ if (ret)
+ return ret;
ret = component_add(dev, &mtk_mdp_rdma_component_ops);
- if (ret) {
- pm_runtime_disable(dev);
+ if (ret)
return dev_err_probe(dev, ret, "Failed to add component\n");
- }
+
return 0;
}
static int mtk_mdp_rdma_remove(struct platform_device *pdev)
{
component_del(&pdev->dev, &mtk_mdp_rdma_component_ops);
- pm_runtime_disable(&pdev->dev);
return 0;
}
--
2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource()
2023-06-08 10:12 ` [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource() AngeloGioacchino Del Regno
@ 2023-06-21 8:51 ` Alexandre Mergnat
2023-07-04 6:28 ` CK Hu (胡俊光)
1 sibling, 0 replies; 10+ messages in thread
From: Alexandre Mergnat @ 2023-06-21 8:51 UTC (permalink / raw
To: AngeloGioacchino Del Regno, chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel, kernel
On 08/06/2023 12:12, AngeloGioacchino Del Regno wrote:
> Instead of open coding calls to platform_get_resource() followed by
> devm_ioremap_resource(), perform a single call to the helper
> devm_platform_get_and_ioremap_resource().
>
> This commit brings no functional changes.
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
--
Regards,
Alexandre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions
2023-06-08 10:12 ` [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions AngeloGioacchino Del Regno
@ 2023-06-21 9:33 ` Alexandre Mergnat
2023-07-04 6:52 ` CK Hu (胡俊光)
1 sibling, 0 replies; 10+ messages in thread
From: Alexandre Mergnat @ 2023-06-21 9:33 UTC (permalink / raw
To: AngeloGioacchino Del Regno, chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel, kernel
On 08/06/2023 12:12, AngeloGioacchino Del Regno wrote:
> Convert all instances of dev_err() -> return to dev_err_probe() and
> where it makes sense to, change instances of `return ret` at the end
> of probe functions to `return 0`, as errors are returned earlier.
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
--
Regards,
Alexandre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible
2023-06-08 10:12 ` [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible AngeloGioacchino Del Regno
@ 2023-06-21 9:36 ` Alexandre Mergnat
2023-07-04 9:24 ` CK Hu (胡俊光)
1 sibling, 0 replies; 10+ messages in thread
From: Alexandre Mergnat @ 2023-06-21 9:36 UTC (permalink / raw
To: AngeloGioacchino Del Regno, chunkuang.hu
Cc: p.zabel, airlied, daniel, matthias.bgg, dri-devel, linux-mediatek,
linux-kernel, linux-arm-kernel, kernel
On 08/06/2023 12:12, AngeloGioacchino Del Regno wrote:
> Simplify the error path of return functions and drop the call to
> pm_runtime_disable() in remove functions by switching to
> devm_pm_runtime_enable() where possible.
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
--
Regards,
Alexandre
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource()
2023-06-08 10:12 ` [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource() AngeloGioacchino Del Regno
2023-06-21 8:51 ` Alexandre Mergnat
@ 2023-07-04 6:28 ` CK Hu (胡俊光)
1 sibling, 0 replies; 10+ messages in thread
From: CK Hu (胡俊光) @ 2023-07-04 6:28 UTC (permalink / raw
To: angelogioacchino.delregno@collabora.com, chunkuang.hu@kernel.org
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, matthias.bgg@gmail.com,
kernel@collabora.com
Hi, Angelo:
On Thu, 2023-06-08 at 12:12 +0200, AngeloGioacchino Del Regno wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Instead of open coding calls to platform_get_resource() followed by
> devm_ioremap_resource(), perform a single call to the helper
> devm_platform_get_and_ioremap_resource().
>
> This commit brings no functional changes.
>
> Signed-off-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/mtk_cec.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_aal.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_color.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_merge.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_dsi.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_hdmi.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 3 +--
> drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 3 +--
> 12 files changed, 12 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_cec.c
> b/drivers/gpu/drm/mediatek/mtk_cec.c
> index b640bc0559e7..5136aada9023 100644
> --- a/drivers/gpu/drm/mediatek/mtk_cec.c
> +++ b/drivers/gpu/drm/mediatek/mtk_cec.c
> @@ -195,8 +195,7 @@ static int mtk_cec_probe(struct platform_device
> *pdev)
> platform_set_drvdata(pdev, cec);
> spin_lock_init(&cec->lock);
>
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - cec->regs = devm_ioremap_resource(dev, res);
> + cec->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &res);
The 'res' is useless, so drop it.
Regards,
CK
> if (IS_ERR(cec->regs)) {
> ret = PTR_ERR(cec->regs);
> dev_err(dev, "Failed to ioremap cec: %d\n", ret);
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions
2023-06-08 10:12 ` [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions AngeloGioacchino Del Regno
2023-06-21 9:33 ` Alexandre Mergnat
@ 2023-07-04 6:52 ` CK Hu (胡俊光)
1 sibling, 0 replies; 10+ messages in thread
From: CK Hu (胡俊光) @ 2023-07-04 6:52 UTC (permalink / raw
To: angelogioacchino.delregno@collabora.com, chunkuang.hu@kernel.org
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, matthias.bgg@gmail.com,
kernel@collabora.com
Hi, Angelo:
On Thu, 2023-06-08 at 12:12 +0200, AngeloGioacchino Del Regno wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Convert all instances of dev_err() -> return to dev_err_probe() and
> where it makes sense to, change instances of `return ret` at the end
> of probe functions to `return 0`, as errors are returned earlier.
Reviewed-by: CK Hu <ck.hu@mediatek.com>
>
> Signed-off-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/mtk_cec.c | 26 +++++------------
> drivers/gpu/drm/mediatek/mtk_disp_aal.c | 16 ++++------
> drivers/gpu/drm/mediatek/mtk_disp_ccorr.c | 16 ++++------
> drivers/gpu/drm/mediatek/mtk_disp_color.c | 17 +++++------
> drivers/gpu/drm/mediatek/mtk_disp_gamma.c | 16 ++++------
> drivers/gpu/drm/mediatek/mtk_disp_merge.c | 25 +++++++---------
> drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 23 ++++++---------
> .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 6 ++--
> drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 29 +++++++--------
> ----
> drivers/gpu/drm/mediatek/mtk_dsi.c | 18 +++++-------
> drivers/gpu/drm/mediatek/mtk_ethdr.c | 18 +++++-------
> drivers/gpu/drm/mediatek/mtk_hdmi.c | 14 +++------
> drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 12 +++-----
> drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 18 +++++-------
> 14 files changed, 96 insertions(+), 158 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_cec.c
> b/drivers/gpu/drm/mediatek/mtk_cec.c
> index 5136aada9023..f12ee86c2b74 100644
> --- a/drivers/gpu/drm/mediatek/mtk_cec.c
> +++ b/drivers/gpu/drm/mediatek/mtk_cec.c
> @@ -196,18 +196,12 @@ static int mtk_cec_probe(struct platform_device
> *pdev)
> spin_lock_init(&cec->lock);
>
> cec->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &res);
> - 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)
> @@ -217,16 +211,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);
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> index 68485c09ad8f..17a4d4a3b040 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_aal.c
> @@ -112,16 +112,12 @@ 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_get_and_ioremap_resource(pdev, 0,
> &res);
> - 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);
> @@ -134,9 +130,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 int mtk_disp_aal_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
> index ae243e7db9b2..3f4bf7319f17 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ccorr.c
> @@ -167,16 +167,12 @@ 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_get_and_ioremap_resource(pdev, 0,
> &res);
> - 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);
> @@ -189,9 +185,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 int mtk_disp_ccorr_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_color.c
> b/drivers/gpu/drm/mediatek/mtk_disp_color.c
> index 4ec37e20ade9..b188d3393f99 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_color.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_color.c
> @@ -105,16 +105,13 @@ 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");
>
> priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &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 +123,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 int mtk_disp_color_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> index cf9262aa4f89..1bf709bac0cf 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_gamma.c
> @@ -271,16 +271,12 @@ 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");
>
> priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &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);
> @@ -293,9 +289,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 int mtk_disp_gamma_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_merge.c
> b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
> index f1dfa6dfd967..60e0b4e70978 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_merge.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
> @@ -251,22 +251,17 @@ static int mtk_disp_merge_probe(struct
> platform_device *pdev)
> return -ENOMEM;
>
> priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &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 clock\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);
> @@ -288,10 +283,10 @@ static int mtk_disp_merge_probe(struct
> platform_device *pdev)
> platform_set_drvdata(pdev, priv);
>
> ret = component_add(dev, &mtk_disp_merge_component_ops);
> - if (ret != 0)
> - dev_err(dev, "Failed to add component: %d\n", ret);
> + if (ret)
> + return dev_err_probe(dev, ret, "Failed to add
> component\n");
>
> - return ret;
> + return 0;
> }
>
> static int mtk_disp_merge_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> index a0b0a1eb91c9..4c00e42ef0a8 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> @@ -524,16 +524,13 @@ 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");
>
> priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &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)
> @@ -545,20 +542,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 int mtk_disp_ovl_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> index c0a38f5217ee..1993b688befa 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> @@ -522,12 +522,12 @@ static int mtk_disp_ovl_adaptor_probe(struct
> platform_device *pdev)
> pm_runtime_enable(dev);
>
> ret = component_add(dev, &mtk_disp_ovl_adaptor_comp_ops);
> - if (ret != 0) {
> + 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 int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> index 7106c05127b1..307be35b59fc 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> @@ -327,16 +327,13 @@ 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");
>
> priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &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 +344,8 @@ 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 +354,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 +366,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 int mtk_disp_rdma_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c
> b/drivers/gpu/drm/mediatek/mtk_dsi.c
> index fb6f45165e95..fc8149e0ae3d 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
> @@ -1081,10 +1081,8 @@ static int mtk_dsi_probe(struct
> platform_device *pdev)
> dsi->host.ops = &mtk_dsi_ops;
> dsi->host.dev = dev;
> ret = mipi_dsi_host_register(&dsi->host);
> - if (ret < 0) {
> - dev_err(dev, "failed to register DSI host: %d\n", ret);
> - return ret;
> - }
> + if (ret < 0)
> + return dev_err_probe(dev, ret, "failed to register DSI
> host\n");
>
> dsi->driver_data = of_device_get_match_data(dev);
>
> @@ -1092,8 +1090,7 @@ static int mtk_dsi_probe(struct platform_device
> *pdev)
> if (IS_ERR(dsi->engine_clk)) {
> ret = PTR_ERR(dsi->engine_clk);
>
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get engine clock:
> %d\n", ret);
> + dev_err_probe(dev, ret, "Failed to get engine
> clock\n");
> goto err_unregister_host;
> }
>
> @@ -1101,29 +1098,28 @@ static int mtk_dsi_probe(struct
> platform_device *pdev)
> if (IS_ERR(dsi->digital_clk)) {
> ret = PTR_ERR(dsi->digital_clk);
>
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get digital clock:
> %d\n", ret);
> + dev_err_probe(dev, ret, "Failed to get digital
> clock\n");
> goto err_unregister_host;
> }
>
> dsi->hs_clk = devm_clk_get(dev, "hs");
> if (IS_ERR(dsi->hs_clk)) {
> ret = PTR_ERR(dsi->hs_clk);
> - dev_err(dev, "Failed to get hs clock: %d\n", ret);
> + dev_err_probe(dev, ret, "Failed to get hs clock\n");
> goto err_unregister_host;
> }
>
> dsi->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> ®s);
> if (IS_ERR(dsi->regs)) {
> ret = PTR_ERR(dsi->regs);
> - dev_err(dev, "Failed to ioremap memory: %d\n", ret);
> + dev_err_probe(dev, ret, "Failed to ioremap memory\n");
> goto err_unregister_host;
> }
>
> dsi->phy = devm_phy_get(dev, "dphy");
> if (IS_ERR(dsi->phy)) {
> ret = PTR_ERR(dsi->phy);
> - dev_err(dev, "Failed to get MIPI-DPHY: %d\n", ret);
> + dev_err_probe(dev, ret, "Failed to get MIPI-DPHY\n");
> goto err_unregister_host;
> }
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_ethdr.c
> b/drivers/gpu/drm/mediatek/mtk_ethdr.c
> index 73dc4da3ba3b..4a5bd5bb9d6e 100644
> --- a/drivers/gpu/drm/mediatek/mtk_ethdr.c
> +++ b/drivers/gpu/drm/mediatek/mtk_ethdr.c
> @@ -325,25 +325,23 @@ 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 int mtk_ethdr_remove(struct platform_device *pdev)
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c
> b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> index 0c784db9978b..7066c70d7eaf 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> @@ -1432,19 +1432,13 @@ static int mtk_hdmi_dt_parse_pdata(struct
> mtk_hdmi *hdmi,
> int ret;
>
> ret = mtk_hdmi_get_all_clk(hdmi, np);
> - if (ret) {
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "Failed to get clocks: %d\n",
> ret);
> -
> - return ret;
> - }
> + if (ret)
> + return dev_err_probe(dev, ret, "Failed to get
> clocks\n");
>
> /* The CEC module handles HDMI hotplug detection */
> cec_np = of_get_compatible_child(np->parent, "mediatek,mt8173-
> cec");
> - if (!cec_np) {
> - dev_err(dev, "Failed to find CEC node\n");
> - return -EINVAL;
> - }
> + if (!cec_np)
> + return dev_err_probe(dev, -EINVAL, "Failed to find CEC
> node\n");
>
> cec_pdev = of_find_device_by_node(cec_np);
> if (!cec_pdev) {
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> index dfd1f07b39f0..e4bfef13e0e5 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> @@ -279,20 +279,16 @@ 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;
> diff --git a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> index 4eac4cbc0764..ed519b5a3273 100644
> --- a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> @@ -286,16 +286,12 @@ static int mtk_mdp_rdma_probe(struct
> platform_device *pdev)
> return -ENOMEM;
>
> priv->regs = devm_platform_get_and_ioremap_resource(pdev, 0,
> &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);
> @@ -307,11 +303,11 @@ static int mtk_mdp_rdma_probe(struct
> platform_device *pdev)
> pm_runtime_enable(dev);
>
> ret = component_add(dev, &mtk_mdp_rdma_component_ops);
> - if (ret != 0) {
> + 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 int mtk_mdp_rdma_remove(struct platform_device *pdev)
> --
> 2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible
2023-06-08 10:12 ` [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible AngeloGioacchino Del Regno
2023-06-21 9:36 ` Alexandre Mergnat
@ 2023-07-04 9:24 ` CK Hu (胡俊光)
1 sibling, 0 replies; 10+ messages in thread
From: CK Hu (胡俊光) @ 2023-07-04 9:24 UTC (permalink / raw
To: angelogioacchino.delregno@collabora.com, chunkuang.hu@kernel.org
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, matthias.bgg@gmail.com,
kernel@collabora.com
Hi, Angelo:
On Thu, 2023-06-08 at 12:12 +0200, AngeloGioacchino Del Regno wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Simplify the error path of return functions and drop the call to
> pm_runtime_disable() in remove functions by switching to
> devm_pm_runtime_enable() where possible.
Reviewed-by: CK Hu <ck.hu@mediatek.com>
>
> Signed-off-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 9 ++++-----
> drivers/gpu/drm/mediatek/mtk_disp_rdma.c | 11 ++++-------
> drivers/gpu/drm/mediatek/mtk_mdp_rdma.c | 10 +++++-----
> 3 files changed, 13 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> index 1993b688befa..14e8ad6c78c3 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> @@ -519,13 +519,13 @@ static int mtk_disp_ovl_adaptor_probe(struct
> platform_device *pdev)
>
> component_master_add_with_match(dev,
> &mtk_disp_ovl_adaptor_master_ops, match);
>
> - pm_runtime_enable(dev);
> + ret = devm_pm_runtime_enable(dev);
> + if (ret)
> + return ret;
>
> ret = component_add(dev, &mtk_disp_ovl_adaptor_comp_ops);
> - if (ret) {
> - pm_runtime_disable(dev);
> + if (ret)
> return dev_err_probe(dev, ret, "Failed to add
> component\n");
> - }
>
> return 0;
> }
> @@ -533,7 +533,6 @@ static int mtk_disp_ovl_adaptor_probe(struct
> platform_device *pdev)
> static int mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
> {
> component_master_del(&pdev->dev,
> &mtk_disp_ovl_adaptor_master_ops);
> - pm_runtime_disable(&pdev->dev);
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> index 307be35b59fc..5e90b6d593f5 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_rdma.c
> @@ -361,13 +361,13 @@ static int mtk_disp_rdma_probe(struct
> platform_device *pdev)
>
> platform_set_drvdata(pdev, priv);
>
> - pm_runtime_enable(dev);
> + ret = devm_pm_runtime_enable(dev);
> + if (ret)
> + return ret;
>
> ret = component_add(dev, &mtk_disp_rdma_component_ops);
> - if (ret) {
> - pm_runtime_disable(dev);
> + if (ret)
> return dev_err_probe(dev, ret, "Failed to add
> component\n");
> - }
>
> return 0;
> }
> @@ -375,9 +375,6 @@ static int mtk_disp_rdma_probe(struct
> platform_device *pdev)
> static int mtk_disp_rdma_remove(struct platform_device *pdev)
> {
> component_del(&pdev->dev, &mtk_disp_rdma_component_ops);
> -
> - pm_runtime_disable(&pdev->dev);
> -
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> index ed519b5a3273..93ef05ec9720 100644
> --- a/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> +++ b/drivers/gpu/drm/mediatek/mtk_mdp_rdma.c
> @@ -300,20 +300,20 @@ static int mtk_mdp_rdma_probe(struct
> platform_device *pdev)
> #endif
> platform_set_drvdata(pdev, priv);
>
> - pm_runtime_enable(dev);
> + ret = devm_pm_runtime_enable(dev);
> + if (ret)
> + return ret;
>
> ret = component_add(dev, &mtk_mdp_rdma_component_ops);
> - if (ret) {
> - pm_runtime_disable(dev);
> + if (ret)
> return dev_err_probe(dev, ret, "Failed to add
> component\n");
> - }
> +
> return 0;
> }
>
> static int mtk_mdp_rdma_remove(struct platform_device *pdev)
> {
> component_del(&pdev->dev, &mtk_mdp_rdma_component_ops);
> - pm_runtime_disable(&pdev->dev);
> return 0;
> }
>
> --
> 2.40.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2023-07-04 9:25 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-08 10:12 [PATCH 0/3] drm/mediatek: General cleanups AngeloGioacchino Del Regno
2023-06-08 10:12 ` [PATCH 1/3] drm/mediatek: Use devm_platform_get_and_ioremap_resource() AngeloGioacchino Del Regno
2023-06-21 8:51 ` Alexandre Mergnat
2023-07-04 6:28 ` CK Hu (胡俊光)
2023-06-08 10:12 ` [PATCH 2/3] drm/mediatek: Use dev_err_probe() in probe functions AngeloGioacchino Del Regno
2023-06-21 9:33 ` Alexandre Mergnat
2023-07-04 6:52 ` CK Hu (胡俊光)
2023-06-08 10:12 ` [PATCH 3/3] drm/mediatek: Use devm variant for pm_runtime_enable() when possible AngeloGioacchino Del Regno
2023-06-21 9:36 ` Alexandre Mergnat
2023-07-04 9:24 ` CK Hu (胡俊光)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).