Commit 45b70f71 authored by Nícolas F. R. A. Prado's avatar Nícolas F. R. A. Prado Committed by Chun-Kuang Hu

drm/mediatek: Log errors in probe with dev_err_probe()

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: default avatarNícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: default avatarCK 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: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent 20fb7ca6
...@@ -195,18 +195,14 @@ static int mtk_cec_probe(struct platform_device *pdev) ...@@ -195,18 +195,14 @@ static int mtk_cec_probe(struct platform_device *pdev)
spin_lock_init(&cec->lock); spin_lock_init(&cec->lock);
cec->regs = devm_platform_ioremap_resource(pdev, 0); cec->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(cec->regs)) { if (IS_ERR(cec->regs))
ret = PTR_ERR(cec->regs); return dev_err_probe(dev, PTR_ERR(cec->regs),
dev_err(dev, "Failed to ioremap cec: %d\n", ret); "Failed to ioremap cec\n");
return ret;
}
cec->clk = devm_clk_get(dev, NULL); cec->clk = devm_clk_get(dev, NULL);
if (IS_ERR(cec->clk)) { if (IS_ERR(cec->clk))
ret = PTR_ERR(cec->clk); return dev_err_probe(dev, PTR_ERR(cec->clk),
dev_err(dev, "Failed to get cec clock: %d\n", ret); "Failed to get cec clock\n");
return ret;
}
cec->irq = platform_get_irq(pdev, 0); cec->irq = platform_get_irq(pdev, 0);
if (cec->irq < 0) if (cec->irq < 0)
...@@ -216,16 +212,12 @@ static int mtk_cec_probe(struct platform_device *pdev) ...@@ -216,16 +212,12 @@ static int mtk_cec_probe(struct platform_device *pdev)
mtk_cec_htplg_isr_thread, mtk_cec_htplg_isr_thread,
IRQF_SHARED | IRQF_TRIGGER_LOW | IRQF_SHARED | IRQF_TRIGGER_LOW |
IRQF_ONESHOT, "hdmi hpd", dev); IRQF_ONESHOT, "hdmi hpd", dev);
if (ret) { if (ret)
dev_err(dev, "Failed to register cec irq: %d\n", ret); return dev_err_probe(dev, ret, "Failed to register cec irq\n");
return ret;
}
ret = clk_prepare_enable(cec->clk); ret = clk_prepare_enable(cec->clk);
if (ret) { if (ret)
dev_err(dev, "Failed to enable cec clock: %d\n", ret); return dev_err_probe(dev, ret, "Failed to enable cec clock\n");
return ret;
}
mtk_cec_htplg_irq_init(cec); mtk_cec_htplg_irq_init(cec);
mtk_cec_htplg_irq_enable(cec); mtk_cec_htplg_irq_enable(cec);
......
...@@ -175,16 +175,14 @@ static int mtk_disp_aal_probe(struct platform_device *pdev) ...@@ -175,16 +175,14 @@ static int mtk_disp_aal_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get aal clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get aal clk\n");
}
priv->regs = devm_platform_ioremap_resource(pdev, 0); priv->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap aal\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap aal\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); 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) ...@@ -197,9 +195,9 @@ static int mtk_disp_aal_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_disp_aal_component_ops); ret = component_add(dev, &mtk_disp_aal_component_ops);
if (ret) 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) static void mtk_disp_aal_remove(struct platform_device *pdev)
......
...@@ -160,16 +160,14 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev) ...@@ -160,16 +160,14 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get ccorr clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get ccorr clk\n");
}
priv->regs = devm_platform_ioremap_resource(pdev, 0); priv->regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap ccorr\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap ccorr\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); 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) ...@@ -182,9 +180,9 @@ static int mtk_disp_ccorr_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_disp_ccorr_component_ops); ret = component_add(dev, &mtk_disp_ccorr_component_ops);
if (ret) 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) static void mtk_disp_ccorr_remove(struct platform_device *pdev)
......
...@@ -104,17 +104,15 @@ static int mtk_disp_color_probe(struct platform_device *pdev) ...@@ -104,17 +104,15 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get color clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get color clk\n");
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->regs = devm_ioremap_resource(dev, res); priv->regs = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap color\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap color\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
if (ret) if (ret)
...@@ -126,9 +124,9 @@ static int mtk_disp_color_probe(struct platform_device *pdev) ...@@ -126,9 +124,9 @@ static int mtk_disp_color_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_disp_color_component_ops); ret = component_add(dev, &mtk_disp_color_component_ops);
if (ret) 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) static void mtk_disp_color_remove(struct platform_device *pdev)
......
...@@ -264,17 +264,15 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev) ...@@ -264,17 +264,15 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get gamma clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get gamma clk\n");
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->regs = devm_ioremap_resource(dev, res); priv->regs = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap gamma\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap gamma\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); 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) ...@@ -287,9 +285,9 @@ static int mtk_disp_gamma_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_disp_gamma_component_ops); ret = component_add(dev, &mtk_disp_gamma_component_ops);
if (ret) 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) static void mtk_disp_gamma_remove(struct platform_device *pdev)
......
...@@ -316,22 +316,19 @@ static int mtk_disp_merge_probe(struct platform_device *pdev) ...@@ -316,22 +316,19 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->regs = devm_ioremap_resource(dev, res); priv->regs = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap merge\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap merge\n");
}
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get merge clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get merge clk\n");
}
priv->async_clk = devm_clk_get_optional(dev, "merge_async"); priv->async_clk = devm_clk_get_optional(dev, "merge_async");
if (IS_ERR(priv->async_clk)) { if (IS_ERR(priv->async_clk))
dev_err(dev, "failed to get merge async clock\n"); return dev_err_probe(dev, PTR_ERR(priv->async_clk),
return PTR_ERR(priv->async_clk); "failed to get merge async clock\n");
}
if (priv->async_clk) { if (priv->async_clk) {
priv->reset_ctl = devm_reset_control_get_optional_exclusive(dev, NULL); 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) ...@@ -354,9 +351,9 @@ static int mtk_disp_merge_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_disp_merge_component_ops); ret = component_add(dev, &mtk_disp_merge_component_ops);
if (ret != 0) 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) static void mtk_disp_merge_remove(struct platform_device *pdev)
......
...@@ -561,17 +561,15 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev) ...@@ -561,17 +561,15 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev)
return irq; return irq;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get ovl clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get ovl clk\n");
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->regs = devm_ioremap_resource(dev, res); priv->regs = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap ovl\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap ovl\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
if (ret) if (ret)
...@@ -583,20 +581,18 @@ static int mtk_disp_ovl_probe(struct platform_device *pdev) ...@@ -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, ret = devm_request_irq(dev, irq, mtk_disp_ovl_irq_handler,
IRQF_TRIGGER_NONE, dev_name(dev), priv); IRQF_TRIGGER_NONE, dev_name(dev), priv);
if (ret < 0) { if (ret < 0)
dev_err(dev, "Failed to request irq %d: %d\n", irq, ret); return dev_err_probe(dev, ret, "Failed to request irq %d\n", irq);
return ret;
}
pm_runtime_enable(dev); pm_runtime_enable(dev);
ret = component_add(dev, &mtk_disp_ovl_component_ops); ret = component_add(dev, &mtk_disp_ovl_component_ops);
if (ret) { if (ret) {
pm_runtime_disable(dev); 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) static void mtk_disp_ovl_remove(struct platform_device *pdev)
......
...@@ -612,10 +612,10 @@ static int mtk_disp_ovl_adaptor_probe(struct platform_device *pdev) ...@@ -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); ret = component_add(dev, &mtk_disp_ovl_adaptor_comp_ops);
if (ret != 0) { if (ret != 0) {
pm_runtime_disable(dev); 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) static void mtk_disp_ovl_adaptor_remove(struct platform_device *pdev)
......
...@@ -326,17 +326,15 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev) ...@@ -326,17 +326,15 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
return irq; return irq;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get rdma clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get rdma clk\n");
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->regs = devm_ioremap_resource(dev, res); priv->regs = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap rdma\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap rdma\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
if (ret) if (ret)
...@@ -347,10 +345,9 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev) ...@@ -347,10 +345,9 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
ret = of_property_read_u32(dev->of_node, ret = of_property_read_u32(dev->of_node,
"mediatek,rdma-fifo-size", "mediatek,rdma-fifo-size",
&priv->fifo_size); &priv->fifo_size);
if (ret) { if (ret)
dev_err(dev, "Failed to get rdma fifo size\n"); return dev_err_probe(dev, ret,
return ret; "Failed to get rdma fifo size\n");
}
} }
/* Disable and clear pending interrupts */ /* Disable and clear pending interrupts */
...@@ -359,10 +356,8 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev) ...@@ -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, ret = devm_request_irq(dev, irq, mtk_disp_rdma_irq_handler,
IRQF_TRIGGER_NONE, dev_name(dev), priv); IRQF_TRIGGER_NONE, dev_name(dev), priv);
if (ret < 0) { if (ret < 0)
dev_err(dev, "Failed to request irq %d: %d\n", irq, ret); return dev_err_probe(dev, ret, "Failed to request irq %d\n", irq);
return ret;
}
priv->data = of_device_get_match_data(dev); priv->data = of_device_get_match_data(dev);
...@@ -373,10 +368,10 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev) ...@@ -373,10 +368,10 @@ static int mtk_disp_rdma_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_disp_rdma_component_ops); ret = component_add(dev, &mtk_disp_rdma_component_ops);
if (ret) { if (ret) {
pm_runtime_disable(dev); 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) static void mtk_disp_rdma_remove(struct platform_device *pdev)
......
...@@ -2655,11 +2655,9 @@ static int mtk_dp_probe(struct platform_device *pdev) ...@@ -2655,11 +2655,9 @@ static int mtk_dp_probe(struct platform_device *pdev)
mutex_init(&mtk_dp->update_plugged_status_lock); mutex_init(&mtk_dp->update_plugged_status_lock);
ret = mtk_dp_register_audio_driver(dev); ret = mtk_dp_register_audio_driver(dev);
if (ret) { if (ret)
dev_err(dev, "Failed to register audio driver: %d\n", return dev_err_probe(dev, ret,
ret); "Failed to register audio driver\n");
return ret;
}
} }
ret = mtk_dp_register_phy(mtk_dp); ret = mtk_dp_register_phy(mtk_dp);
......
...@@ -340,25 +340,24 @@ static int mtk_ethdr_probe(struct platform_device *pdev) ...@@ -340,25 +340,24 @@ static int mtk_ethdr_probe(struct platform_device *pdev)
if (priv->irq) { if (priv->irq) {
ret = devm_request_irq(dev, priv->irq, mtk_ethdr_irq_handler, ret = devm_request_irq(dev, priv->irq, mtk_ethdr_irq_handler,
IRQF_TRIGGER_NONE, dev_name(dev), priv); IRQF_TRIGGER_NONE, dev_name(dev), priv);
if (ret < 0) { if (ret < 0)
dev_err(dev, "Failed to request irq %d: %d\n", priv->irq, ret); return dev_err_probe(dev, ret,
return ret; "Failed to request irq %d\n",
} priv->irq);
} }
priv->reset_ctl = devm_reset_control_array_get_optional_exclusive(dev); priv->reset_ctl = devm_reset_control_array_get_optional_exclusive(dev);
if (IS_ERR(priv->reset_ctl)) { if (IS_ERR(priv->reset_ctl))
dev_err_probe(dev, PTR_ERR(priv->reset_ctl), "cannot get ethdr reset control\n"); return dev_err_probe(dev, PTR_ERR(priv->reset_ctl),
return PTR_ERR(priv->reset_ctl); "cannot get ethdr reset control\n");
}
platform_set_drvdata(pdev, priv); platform_set_drvdata(pdev, priv);
ret = component_add(dev, &mtk_ethdr_component_ops); ret = component_add(dev, &mtk_ethdr_component_ops);
if (ret) 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) static void mtk_ethdr_remove(struct platform_device *pdev)
......
...@@ -1702,26 +1702,22 @@ static int mtk_hdmi_probe(struct platform_device *pdev) ...@@ -1702,26 +1702,22 @@ static int mtk_hdmi_probe(struct platform_device *pdev)
return ret; return ret;
hdmi->phy = devm_phy_get(dev, "hdmi"); hdmi->phy = devm_phy_get(dev, "hdmi");
if (IS_ERR(hdmi->phy)) { if (IS_ERR(hdmi->phy))
ret = PTR_ERR(hdmi->phy); return dev_err_probe(dev, PTR_ERR(hdmi->phy),
dev_err(dev, "Failed to get HDMI PHY: %d\n", ret); "Failed to get HDMI PHY\n");
return ret;
}
mutex_init(&hdmi->update_plugged_status_lock); mutex_init(&hdmi->update_plugged_status_lock);
platform_set_drvdata(pdev, hdmi); platform_set_drvdata(pdev, hdmi);
ret = mtk_hdmi_output_init(hdmi); ret = mtk_hdmi_output_init(hdmi);
if (ret) { if (ret)
dev_err(dev, "Failed to initialize hdmi output\n"); return dev_err_probe(dev, ret,
return ret; "Failed to initialize hdmi output\n");
}
ret = mtk_hdmi_register_audio_driver(dev); ret = mtk_hdmi_register_audio_driver(dev);
if (ret) { if (ret)
dev_err(dev, "Failed to register audio driver: %d\n", ret); return dev_err_probe(dev, ret,
return ret; "Failed to register audio driver\n");
}
hdmi->bridge.funcs = &mtk_hdmi_bridge_funcs; hdmi->bridge.funcs = &mtk_hdmi_bridge_funcs;
hdmi->bridge.of_node = pdev->dev.of_node; hdmi->bridge.of_node = pdev->dev.of_node;
...@@ -1732,15 +1728,12 @@ static int mtk_hdmi_probe(struct platform_device *pdev) ...@@ -1732,15 +1728,12 @@ static int mtk_hdmi_probe(struct platform_device *pdev)
ret = mtk_hdmi_clk_enable_audio(hdmi); ret = mtk_hdmi_clk_enable_audio(hdmi);
if (ret) { if (ret) {
dev_err(dev, "Failed to enable audio clocks: %d\n", ret); drm_bridge_remove(&hdmi->bridge);
goto err_bridge_remove; return dev_err_probe(dev, ret,
"Failed to enable audio clocks\n");
} }
return 0; return 0;
err_bridge_remove:
drm_bridge_remove(&hdmi->bridge);
return ret;
} }
static void mtk_hdmi_remove(struct platform_device *pdev) static void mtk_hdmi_remove(struct platform_device *pdev)
......
...@@ -279,20 +279,17 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev) ...@@ -279,20 +279,17 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
ddc->clk = devm_clk_get(dev, "ddc-i2c"); ddc->clk = devm_clk_get(dev, "ddc-i2c");
if (IS_ERR(ddc->clk)) { if (IS_ERR(ddc->clk))
dev_err(dev, "get ddc_clk failed: %p ,\n", ddc->clk); return dev_err_probe(dev, PTR_ERR(ddc->clk),
return PTR_ERR(ddc->clk); "get ddc_clk failed\n");
}
ddc->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem); ddc->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem);
if (IS_ERR(ddc->regs)) if (IS_ERR(ddc->regs))
return PTR_ERR(ddc->regs); return PTR_ERR(ddc->regs);
ret = clk_prepare_enable(ddc->clk); ret = clk_prepare_enable(ddc->clk);
if (ret) { if (ret)
dev_err(dev, "enable ddc clk failed!\n"); return dev_err_probe(dev, ret, "enable ddc clk failed!\n");
return ret;
}
strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name)); strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
ddc->adap.owner = THIS_MODULE; ddc->adap.owner = THIS_MODULE;
...@@ -304,8 +301,8 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev) ...@@ -304,8 +301,8 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
ret = i2c_add_adapter(&ddc->adap); ret = i2c_add_adapter(&ddc->adap);
if (ret < 0) { if (ret < 0) {
dev_err(dev, "failed to add bus to i2c core\n"); clk_disable_unprepare(ddc->clk);
goto err_clk_disable; return dev_err_probe(dev, ret, "failed to add bus to i2c core\n");
} }
platform_set_drvdata(pdev, ddc); platform_set_drvdata(pdev, ddc);
...@@ -316,10 +313,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev) ...@@ -316,10 +313,6 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
&mem->end); &mem->end);
return 0; return 0;
err_clk_disable:
clk_disable_unprepare(ddc->clk);
return ret;
} }
static void mtk_hdmi_ddc_remove(struct platform_device *pdev) static void mtk_hdmi_ddc_remove(struct platform_device *pdev)
......
...@@ -301,16 +301,14 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev) ...@@ -301,16 +301,14 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
priv->regs = devm_ioremap_resource(dev, res); priv->regs = devm_ioremap_resource(dev, res);
if (IS_ERR(priv->regs)) { if (IS_ERR(priv->regs))
dev_err(dev, "failed to ioremap rdma\n"); return dev_err_probe(dev, PTR_ERR(priv->regs),
return PTR_ERR(priv->regs); "failed to ioremap rdma\n");
}
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get rdma clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get rdma clk\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); 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) ...@@ -324,9 +322,9 @@ static int mtk_mdp_rdma_probe(struct platform_device *pdev)
ret = component_add(dev, &mtk_mdp_rdma_component_ops); ret = component_add(dev, &mtk_mdp_rdma_component_ops);
if (ret != 0) { if (ret != 0) {
pm_runtime_disable(dev); 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) static void mtk_mdp_rdma_remove(struct platform_device *pdev)
......
...@@ -103,23 +103,19 @@ static int mtk_padding_probe(struct platform_device *pdev) ...@@ -103,23 +103,19 @@ static int mtk_padding_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
priv->clk = devm_clk_get(dev, NULL); priv->clk = devm_clk_get(dev, NULL);
if (IS_ERR(priv->clk)) { if (IS_ERR(priv->clk))
dev_err(dev, "failed to get clk\n"); return dev_err_probe(dev, PTR_ERR(priv->clk),
return PTR_ERR(priv->clk); "failed to get clk\n");
}
priv->reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res); priv->reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
if (IS_ERR(priv->reg)) { if (IS_ERR(priv->reg))
dev_err(dev, "failed to do ioremap\n"); return dev_err_probe(dev, PTR_ERR(priv->reg),
return PTR_ERR(priv->reg); "failed to do ioremap\n");
}
#if IS_REACHABLE(CONFIG_MTK_CMDQ) #if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0); ret = cmdq_dev_get_client_reg(dev, &priv->cmdq_reg, 0);
if (ret) { if (ret)
dev_err(dev, "failed to get gce client reg\n"); return dev_err_probe(dev, ret, "failed to get gce client reg\n");
return ret;
}
#endif #endif
platform_set_drvdata(pdev, priv); platform_set_drvdata(pdev, priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment