diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/base.c | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/output.c | 29 |
2 files changed, 3 insertions, 27 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c index c3e451440d4b..02c6ed97d632 100644 --- a/drivers/gpu/drm/omapdrm/dss/base.c +++ b/drivers/gpu/drm/omapdrm/dss/base.c @@ -208,6 +208,7 @@ int omapdss_device_connect(struct dss_device *dss, } if (src) { + WARN_ON(src->dst); dst->src = src; src->dst = dst; } diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c index 2f7a019d059e..96d74218cf91 100644 --- a/drivers/gpu/drm/omapdrm/dss/output.c +++ b/drivers/gpu/drm/omapdrm/dss/output.c @@ -29,61 +29,36 @@ static DEFINE_MUTEX(output_lock); int omapdss_output_set_device(struct omap_dss_device *out, struct omap_dss_device *dssdev) { - int r; + int r = 0; mutex_lock(&output_lock); - if (out->dst) { - dev_err(out->dev, - "output already has device %s connected to it\n", - out->dst->name); - r = -EINVAL; - goto err; - } - if (out->output_type != dssdev->type) { dev_err(out->dev, "output type and display type don't match\n"); r = -EINVAL; - goto err; } mutex_unlock(&output_lock); - return 0; -err: - mutex_unlock(&output_lock); - return r; } EXPORT_SYMBOL(omapdss_output_set_device); int omapdss_output_unset_device(struct omap_dss_device *out) { - int r; + int r = 0; mutex_lock(&output_lock); - if (!out->dst) { - dev_err(out->dev, - "output doesn't have a device connected to it\n"); - r = -EINVAL; - goto err; - } - 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; - goto err; } mutex_unlock(&output_lock); - return 0; -err: - mutex_unlock(&output_lock); - return r; } EXPORT_SYMBOL(omapdss_output_unset_device); |