@@ -49,3 +49,12 @@ void omapdss_display_init(struct omap_dss_device *dssdev)
"display%u", id);
}
EXPORT_SYMBOL_GPL(omapdss_display_init);
+
+struct omap_dss_device *omapdss_display_get(struct omap_dss_device *output)
+{
+ while (output->next)
+ output = output->next;
+
+ return omapdss_device_get(output);
+}
+EXPORT_SYMBOL_GPL(omapdss_display_get);
@@ -489,6 +489,7 @@ static inline bool omapdss_is_initialized(void)
#define for_each_dss_display(d) \
while ((d = omapdss_device_get_next(d, true, false)) != NULL)
void omapdss_display_init(struct omap_dss_device *dssdev);
+struct omap_dss_device *omapdss_display_get(struct omap_dss_device *output);
void omapdss_device_register(struct omap_dss_device *dssdev);
void omapdss_device_unregister(struct omap_dss_device *dssdev);
Add a new omapdss_display_get() function to retrieve the omap_dss_device for a given DSS output. This will be used when reversing the direction of the DSS pipeline handling logic. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- drivers/gpu/drm/omapdrm/dss/display.c | 9 +++++++++ drivers/gpu/drm/omapdrm/dss/omapdss.h | 1 + 2 files changed, 10 insertions(+)