Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/mediatek: mtk_hdmi*: convert to of_drm_find_and_get_bridge()

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 by using the drm_bridge::next_bridge pointer.

Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patch.msgid.link/20260109-drm-bridge-alloc-getput-drm_of_find_bridge-3-v2-4-8d7a3dbacdf4@bootlin.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

+6 -7
+2 -2
drivers/gpu/drm/mediatek/mtk_hdmi.c
··· 986 986 return -EINVAL; 987 987 } 988 988 989 - if (hdmi->next_bridge) { 990 - ret = drm_bridge_attach(encoder, hdmi->next_bridge, 989 + if (hdmi->bridge.next_bridge) { 990 + ret = drm_bridge_attach(encoder, hdmi->bridge.next_bridge, 991 991 bridge, flags); 992 992 if (ret) 993 993 return ret;
+2 -2
drivers/gpu/drm/mediatek/mtk_hdmi_common.c
··· 315 315 return -EINVAL; 316 316 317 317 if (!of_device_is_compatible(remote, "hdmi-connector")) { 318 - hdmi->next_bridge = of_drm_find_bridge(remote); 319 - if (!hdmi->next_bridge) { 318 + hdmi->bridge.next_bridge = of_drm_find_and_get_bridge(remote); 319 + if (!hdmi->bridge.next_bridge) { 320 320 dev_err(dev, "Waiting for external bridge\n"); 321 321 of_node_put(remote); 322 322 return -EPROBE_DEFER;
-1
drivers/gpu/drm/mediatek/mtk_hdmi_common.h
··· 150 150 151 151 struct mtk_hdmi { 152 152 struct drm_bridge bridge; 153 - struct drm_bridge *next_bridge; 154 153 struct drm_connector *curr_conn;/* current connector (only valid when 'enabled') */ 155 154 struct device *dev; 156 155 const struct mtk_hdmi_conf *conf;
+2 -2
drivers/gpu/drm/mediatek/mtk_hdmi_v2.c
··· 960 960 DRM_ERROR("The flag DRM_BRIDGE_ATTACH_NO_CONNECTOR must be supplied\n"); 961 961 return -EINVAL; 962 962 } 963 - if (hdmi->next_bridge) { 964 - ret = drm_bridge_attach(encoder, hdmi->next_bridge, bridge, flags); 963 + if (hdmi->bridge.next_bridge) { 964 + ret = drm_bridge_attach(encoder, hdmi->bridge.next_bridge, bridge, flags); 965 965 if (ret) 966 966 return ret; 967 967 }