[PATCH v2 1/4] drm/omap: Populate DSS children in omapdss driver
Tony Lindgren
tony at atomide.com
Mon Nov 5 20:00:33 UTC 2018
* Laurent Pinchart <laurent.pinchart at ideasonboard.com> [181105 15:10]:
> The DSS DT node contains children that describe the DSS components
> (DISPC and internal encoders). Each of those components is handled by a
> platform driver, and thus needs to be backed by a platform device.
>
> The corresponding platform devices are created in mach-omap2 code by a
> call to of_platform_populate(). While this approach has worked so far,
> it doesn't model the hardware architecture very well, as it creates
> child devices before the parent is ready to handle them. This would be
> akin to creating I2C slaves before the I2C master is available.
>
> The task can be easily performed in the omapdss driver code instead,
> simplifying mach-omap2 code. We however can't remove the mach-omap2 code
> completely as the omap2fb driver still depends on it, but we can move it
> to the omap2fb-specific section, where it can stay until the omap2fb
> driver gets removed.
>
> This has the added benefit of not allowing DSS components to probe
> before the DSS itself, which led to runtime PM issues when the DSS probe
> is deferred.
>
> Fixes: 27d624527d99 ("drm/omap: dss: Acquire next dssdev at probe time")
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Please merge this together with the DSS fixes:
Acked-by: Tony Lindgren <tony at atomide.com>
More information about the dri-devel
mailing list