[PATCH v2 3/6] drm/imx/dw-hdmi: convert to of_drm_find_and_get_bridge()
Luca Ceresoli
luca.ceresoli at bootlin.com
Fri Jan 9 02:02:52 PST 2026
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference, and ensure it
is put when done.
Signed-off-by: Luca Ceresoli <luca.ceresoli at bootlin.com>
---
Changes in v2:
- add missing drm_bridge_put() on component_add() failure
- reorder lines in dw_hdmi_imx_remove()
---
drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c b/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c
index 07e5f96202d4..398f3cce5532 100644
--- a/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c
+++ b/drivers/gpu/drm/imx/ipuv3/dw_hdmi-imx.c
@@ -241,7 +241,7 @@ static int dw_hdmi_imx_probe(struct platform_device *pdev)
if (IS_ERR(hdmi->hdmi))
return PTR_ERR(hdmi->hdmi);
- hdmi->bridge = of_drm_find_bridge(np);
+ hdmi->bridge = of_drm_find_and_get_bridge(np);
if (!hdmi->bridge) {
dev_err(hdmi->dev, "Unable to find bridge\n");
dw_hdmi_remove(hdmi->hdmi);
@@ -249,8 +249,10 @@ static int dw_hdmi_imx_probe(struct platform_device *pdev)
}
ret = component_add(&pdev->dev, &dw_hdmi_imx_ops);
- if (ret)
+ if (ret) {
+ drm_bridge_put(hdmi->bridge);
dw_hdmi_remove(hdmi->hdmi);
+ }
return ret;
}
@@ -260,6 +262,7 @@ static void dw_hdmi_imx_remove(struct platform_device *pdev)
struct imx_hdmi *hdmi = platform_get_drvdata(pdev);
component_del(&pdev->dev, &dw_hdmi_imx_ops);
+ drm_bridge_put(hdmi->bridge);
dw_hdmi_remove(hdmi->hdmi);
}
--
2.52.0
More information about the linux-amlogic
mailing list