summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/dss/base.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2018-02-28 17:30:30 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2018-09-03 16:13:26 +0300
commitec727e3f61845d6d64b3c5eba464096d6cc7f8e9 (patch)
treecd9e3c70b61ef8302d672b7f693166c16a14c36e /drivers/gpu/drm/omapdrm/dss/base.c
parentb93109d7dc9e15649e1cf18281f02d8b4a102584 (diff)
downloadlinux-ec727e3f61845d6d64b3c5eba464096d6cc7f8e9.tar.bz2
drm/omap: dss: Add functions to connect and disconnect devices
The omap_dss_device objects model display components and are connected at runtime to create display pipelines. The connect and disconnect operations implemented by each component contain lots of duplicate code. As a first step towards fixing this, create new functions to wrap the direct calls to those operations and use them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/base.c')
-rw-r--r--drivers/gpu/drm/omapdrm/dss/base.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
index df6cb1ac43c8..576fd3d13259 100644
--- a/drivers/gpu/drm/omapdrm/dss/base.c
+++ b/drivers/gpu/drm/omapdrm/dss/base.c
@@ -102,6 +102,26 @@ struct omap_dss_device *omapdss_find_device_by_port(struct device_node *src,
return NULL;
}
+int omapdss_device_connect(struct omap_dss_device *src,
+ struct omap_dss_device *dst)
+{
+ if (src->driver)
+ return src->driver->connect(src);
+ else
+ return src->ops->connect(src, dst);
+}
+EXPORT_SYMBOL_GPL(omapdss_device_connect);
+
+void omapdss_device_disconnect(struct omap_dss_device *src,
+ struct omap_dss_device *dst)
+{
+ if (src->driver)
+ src->driver->disconnect(src);
+ else
+ src->ops->disconnect(src, dst);
+}
+EXPORT_SYMBOL_GPL(omapdss_device_disconnect);
+
/* -----------------------------------------------------------------------------
* Components Handling
*/