]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/kmb/dsi: convert to of_drm_find_and_get_bridge()
authorLuca Ceresoli <luca.ceresoli@bootlin.com>
Thu, 2 Apr 2026 16:27:18 +0000 (18:27 +0200)
committerLuca Ceresoli <luca.ceresoli@bootlin.com>
Thu, 9 Apr 2026 12:38:08 +0000 (14:38 +0200)
of_drm_find_bridge() is deprecated. Move to its replacement
of_drm_find_and_get_bridge() which gets a bridge reference.

This driver has global variables for the DSI host and DSI device, and code
to allocate them on probe but no code to free them when on remove. So it
does not at all support removal, and not even multiple instances. For this
reason putting the reference would be pointless here.

Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20260402-drm-bridge-alloc-getput-drm_of_find_bridge-4-v4-2-421781c8c061@bootlin.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
drivers/gpu/drm/kmb/kmb_dsi.c

index aeb2f9f98f231e5b22f2a30e8b09d868e631cb5c..febca939bd0100d7ba5963f92722bd475a32cd8b 100644 (file)
@@ -251,7 +251,7 @@ int kmb_dsi_host_bridge_init(struct device *dev)
                return -EINVAL;
        }
        /* Locate drm bridge from the hdmi encoder DT node */
-       adv_bridge = of_drm_find_bridge(encoder_node);
+       adv_bridge = of_drm_find_and_get_bridge(encoder_node);
        of_node_put(dsi_out);
        of_node_put(encoder_node);
        if (!adv_bridge) {