diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c index 02c6ed97d632..89472715ee8f 100644 --- a/drivers/gpu/drm/omapdrm/dss/base.c +++ b/drivers/gpu/drm/omapdrm/dss/base.c @@ -235,6 +235,8 @@ void omapdss_device_disconnect(struct omap_dss_device *src, src->dst = NULL; } + WARN_ON(dst->state != OMAP_DSS_DISPLAY_DISABLED); + if (dst->driver) dst->driver->disconnect(src, dst); else diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index eeeea936f889..178b463c2d60 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c @@ -633,7 +633,6 @@ static void dpi_disconnect(struct omap_dss_device *src, struct omap_dss_device *dst) { omapdss_device_disconnect(dst, dst->next); - omapdss_output_unset_device(dst); dss_mgr_disconnect(dst); } diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c index 9c617e35efd1..948e3b873523 100644 --- a/drivers/gpu/drm/omapdrm/dss/dsi.c +++ b/drivers/gpu/drm/omapdrm/dss/dsi.c @@ -4903,7 +4903,6 @@ static void dsi_disconnect(struct omap_dss_device *src, struct omap_dss_device *dst) { omapdss_device_disconnect(dst, dst->next); - omapdss_output_unset_device(dst); dss_mgr_disconnect(dst); } diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c index 22f8b74f5bf5..6616530d5fe6 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c @@ -450,7 +450,6 @@ static void hdmi_disconnect(struct omap_dss_device *src, struct omap_dss_device *dst) { omapdss_device_disconnect(dst, dst->next); - omapdss_output_unset_device(dst); dss_mgr_disconnect(dst); } diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c index d8592d02a58d..f7e15edc05fc 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c @@ -455,7 +455,6 @@ static void hdmi_disconnect(struct omap_dss_device *src, struct omap_dss_device *dst) { omapdss_device_disconnect(dst, dst->next); - omapdss_output_unset_device(dst); dss_mgr_disconnect(dst); } diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h index 600ac7c25724..8f9538e17ea4 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h @@ -522,7 +522,6 @@ int omap_dss_get_num_overlays(void); #define for_each_dss_output(d) \ while ((d = omapdss_device_get_next(d, OMAP_DSS_DEVICE_TYPE_OUTPUT)) != NULL) int omapdss_output_validate(struct omap_dss_device *out); -int omapdss_output_unset_device(struct omap_dss_device *out); typedef void (*omap_dispc_isr_t) (void *arg, u32 mask); int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask); diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c index be544dd48bf4..2da480be918d 100644 --- a/drivers/gpu/drm/omapdrm/dss/output.c +++ b/drivers/gpu/drm/omapdrm/dss/output.c @@ -24,8 +24,6 @@ #include "dss.h" #include "omapdss.h" -static DEFINE_MUTEX(output_lock); - int omapdss_output_validate(struct omap_dss_device *out) { if (out->next && out->output_type != out->next->type) { @@ -37,25 +35,6 @@ int omapdss_output_validate(struct omap_dss_device *out) } EXPORT_SYMBOL(omapdss_output_validate); -int omapdss_output_unset_device(struct omap_dss_device *out) -{ - int r = 0; - - mutex_lock(&output_lock); - - if (out->dst->state != OMAP_DSS_DISPLAY_DISABLED) { - dev_err(out->dev, - "device %s is not disabled, cannot unset device\n", - out->dst->name); - r = -EINVAL; - } - - mutex_unlock(&output_lock); - - return r; -} -EXPORT_SYMBOL(omapdss_output_unset_device); - int dss_install_mgr_ops(struct dss_device *dss, const struct dss_mgr_ops *mgr_ops, struct omap_drm_private *priv) diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c index 2101a697a08a..764299cafbe2 100644 --- a/drivers/gpu/drm/omapdrm/dss/sdi.c +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c @@ -274,7 +274,6 @@ static void sdi_disconnect(struct omap_dss_device *src, struct omap_dss_device *dst) { omapdss_device_disconnect(dst, dst->next); - omapdss_output_unset_device(dst); dss_mgr_disconnect(dst); } diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c index e673f3e78c69..c2811c425195 100644 --- a/drivers/gpu/drm/omapdrm/dss/venc.c +++ b/drivers/gpu/drm/omapdrm/dss/venc.c @@ -713,7 +713,6 @@ static void venc_disconnect(struct omap_dss_device *src, struct omap_dss_device *dst) { omapdss_device_disconnect(dst, dst->next); - omapdss_output_unset_device(dst); dss_mgr_disconnect(dst); }