Re: [PATCH] drm/msm: Only add available components

From: Rob Clark
Date: Tue Dec 04 2018 - 15:20:08 EST


On Tue, Dec 4, 2018 at 1:04 PM Douglas Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> 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 <dianders@xxxxxxxxxxxx>


yeah, that seems like a reasonable thing to do

Reviewed-by: Rob Clark <robdclark@xxxxxxxxx>

> ---
>
> drivers/gpu/drm/msm/msm_drv.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index b1577e960889..0b828822117b 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -1190,8 +1190,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);
> }
>
> --
> 2.20.0.rc1.387.gf8505762e3-goog
>