From: Douglas Anderson Date: Tue, 4 Dec 2018 18:04:41 +0000 (-0800) Subject: drm/msm: Only add available components X-Git-Tag: v5.15~7108^2^2~49 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d1d9d0e1724d6a7123b4280fdf6630ae70f96c9c;p=platform%2Fkernel%2Flinux-starfive.git drm/msm: Only add available components When trying to get the display up on my sdm845 board I noticed that the display wouldn't probe if I had the dsi1 node marked as "disabled" even though my board doesn't use dsi1. It looks like the msm code adds all nodes to its list of components even if they are disabled. I believe this doesn't work because all registered components need to come up before we finish probing. Let's do like other DRM code and only add available components. Signed-off-by: Douglas Anderson Reviewed-by: Rob Clark Signed-off-by: Rob Clark --- diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 1a3b80d..7661ca71 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -1256,8 +1256,10 @@ static int add_components_mdp(struct device *mdp_dev, if (!intf) continue; - drm_of_component_match_add(master_dev, matchptr, compare_of, - intf); + if (of_device_is_available(intf)) + drm_of_component_match_add(master_dev, matchptr, + compare_of, intf); + of_node_put(intf); }