diff mbox

[v2,05/60] drm/omap: dss: Gather OMAP DSS components at probe time

Message ID 20180526172518.18710-6-laurent.pinchart@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart May 26, 2018, 5:24 p.m. UTC
The omapdss_gather_components() function walks the OF graph to create a
list of all components part of the display device. There's no need to
delay this operation until DSS bind time as we have all the information
we need at probe time.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/gpu/drm/omapdrm/dss/dss.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Sebastian Reichel June 10, 2018, 3:33 p.m. UTC | #1
Hi,

On Sat, May 26, 2018 at 08:24:23PM +0300, Laurent Pinchart wrote:
> The omapdss_gather_components() function walks the OF graph to create a
> list of all components part of the display device. There's no need to
> delay this operation until DSS bind time as we have all the information
> we need at probe time.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>

-- Sebastian

>  drivers/gpu/drm/omapdrm/dss/dss.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c b/drivers/gpu/drm/omapdrm/dss/dss.c
> index 0b908e9de792..d27d7f85bcd1 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.c
> @@ -1323,7 +1323,6 @@ static int dss_bind(struct device *dev)
>  
>  	pm_set_vt_switch(0);
>  
> -	omapdss_gather_components(dev);
>  	omapdss_set_dss(dss);
>  
>  	return 0;
> @@ -1474,6 +1473,8 @@ static int dss_probe(struct platform_device *pdev)
>  						   dss);
>  
>  	/* Add all the child devices as components. */
> +	omapdss_gather_components(&pdev->dev);
> +
>  	device_for_each_child(&pdev->dev, &match, dss_add_child_component);
>  
>  	r = component_master_add_with_match(&pdev->dev, &dss_component_ops, match);
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c b/drivers/gpu/drm/omapdrm/dss/dss.c
index 0b908e9de792..d27d7f85bcd1 100644
--- a/drivers/gpu/drm/omapdrm/dss/dss.c
+++ b/drivers/gpu/drm/omapdrm/dss/dss.c
@@ -1323,7 +1323,6 @@  static int dss_bind(struct device *dev)
 
 	pm_set_vt_switch(0);
 
-	omapdss_gather_components(dev);
 	omapdss_set_dss(dss);
 
 	return 0;
@@ -1474,6 +1473,8 @@  static int dss_probe(struct platform_device *pdev)
 						   dss);
 
 	/* Add all the child devices as components. */
+	omapdss_gather_components(&pdev->dev);
+
 	device_for_each_child(&pdev->dev, &match, dss_add_child_component);
 
 	r = component_master_add_with_match(&pdev->dev, &dss_component_ops, match);