diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-03-02 03:54:16 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-09-03 16:13:26 +0300 |
commit | f324b2798c871511c64ea4232405e6f248e20d52 (patch) | |
tree | 9776c6789d5d9c93a9192b82d1d00c1077f44821 /drivers/gpu/drm/omapdrm/dss/base.c | |
parent | c1dfe721e0966947019c43b65f2837c591fdcb3c (diff) | |
download | linux-f324b2798c871511c64ea4232405e6f248e20d52.tar.xz |
drm/omap: dss: Store dss_device pointer in omap_dss_device
Storing the dss_device pointer in the omap_dss_device structure will
allow accessing the dss_device from the dss_mgr API functions.
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.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c index 08846eea5a53..991c424960c7 100644 --- a/drivers/gpu/drm/omapdrm/dss/base.c +++ b/drivers/gpu/drm/omapdrm/dss/base.c @@ -177,7 +177,8 @@ done: } EXPORT_SYMBOL(omapdss_device_get_next); -int omapdss_device_connect(struct omap_dss_device *src, +int omapdss_device_connect(struct dss_device *dss, + struct omap_dss_device *src, struct omap_dss_device *dst) { int ret; @@ -187,13 +188,17 @@ int omapdss_device_connect(struct omap_dss_device *src, if (omapdss_device_is_connected(src)) return -EBUSY; + src->dss = dss; + if (src->driver) ret = src->driver->connect(src); else ret = src->ops->connect(src, dst); - if (ret < 0) + if (ret < 0) { + src->dss = NULL; return ret; + } if (dst) { dst->src = src; @@ -226,6 +231,8 @@ void omapdss_device_disconnect(struct omap_dss_device *src, src->driver->disconnect(src); else src->ops->disconnect(src, dst); + + src->dss = NULL; } EXPORT_SYMBOL_GPL(omapdss_device_disconnect); |