devm_drm_of_get_bridge() is deprecated, switch to
of_drm_get_bridge_by_endpoint(). As of_drm_get_bridge_by_endpoint() returns
a refcounted bridge, ensure it is put.

Fixes build failure when CONFIG_OF is disabled.

Fixes: aa8a8c7e4641 ("drm/bridge: panel: move all code to drm_panel.c")
Reported-by: Arnd Bergmann <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Acked-by: Maxime Ripard <[email protected]>
Signed-off-by: Luca Ceresoli <[email protected]>
---
 drivers/gpu/drm/imx/lcdc/imx-lcdc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c 
b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
index c67fe80b8115..805a659e3f85 100644
--- a/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
+++ b/drivers/gpu/drm/imx/lcdc/imx-lcdc.c
@@ -385,7 +385,6 @@ static int imx_lcdc_probe(struct platform_device *pdev)
 {
        struct imx_lcdc *lcdc;
        struct drm_device *drm;
-       struct drm_bridge *bridge;
        int irq;
        int ret;
        struct device *dev = &pdev->dev;
@@ -401,7 +400,8 @@ static int imx_lcdc_probe(struct platform_device *pdev)
        if (IS_ERR(lcdc->base))
                return dev_err_probe(dev, PTR_ERR(lcdc->base), "Cannot get IO 
memory\n");
 
-       bridge = devm_drm_of_get_bridge(dev, dev->of_node, 0, 0);
+       struct drm_bridge *bridge __free(drm_bridge_put) =
+               of_drm_get_bridge_by_endpoint(dev->of_node, 0, 0);
        if (IS_ERR(bridge))
                return dev_err_probe(dev, PTR_ERR(bridge), "Failed to find 
bridge\n");
 

-- 
2.55.0

Reply via email to