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.

Tested-by: Marek Szyprowski <[email protected]>
Signed-off-by: Luca Ceresoli <[email protected]>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c 
b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 01813e11e6c6..bfcf2fa62fe1 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -1779,7 +1779,7 @@ static int hdmi_bridge_init(struct hdmi_context *hdata)
                return -EINVAL;
        }
 
-       hdata->bridge = of_drm_find_bridge(np);
+       hdata->bridge = of_drm_find_and_get_bridge(np);
        of_node_put(np);
 
        if (!hdata->bridge)
@@ -2096,6 +2096,8 @@ static void hdmi_remove(struct platform_device *pdev)
 
        put_device(&hdata->ddc_adpt->dev);
 
+       drm_bridge_put(hdata->bridge);
+
        mutex_destroy(&hdata->mutex);
 }
 

-- 
2.52.0

Reply via email to