OMAP: DSS2: VENC: Add missing start/stop_device calls
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 28 Oct 2010 13:46:38 +0000 (16:46 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 11 May 2011 11:19:25 +0000 (14:19 +0300)
VENC code was missing omap_dss_start/stop_device calls. This didn't
cause any problems as VENC could not be compiled as a module, but
nevertheless it's better to add the calls.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/venc.c

index 983172672460d55a725ef6bda69f94d65b7b56d5..980f919ed987609b1b646af56ba47dee10b81767 100644 (file)
@@ -476,6 +476,12 @@ static int venc_panel_enable(struct omap_dss_device *dssdev)
 
        mutex_lock(&venc.venc_lock);
 
+       r = omap_dss_start_device(dssdev);
+       if (r) {
+               DSSERR("failed to start device\n");
+               goto err0;
+       }
+
        if (dssdev->state != OMAP_DSS_DISPLAY_DISABLED) {
                r = -EINVAL;
                goto err1;
@@ -487,7 +493,11 @@ static int venc_panel_enable(struct omap_dss_device *dssdev)
 
        dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
 
+       mutex_unlock(&venc.venc_lock);
+       return 0;
 err1:
+       omap_dss_stop_device(dssdev);
+err0:
        mutex_unlock(&venc.venc_lock);
 
        return r;
@@ -511,6 +521,8 @@ static void venc_panel_disable(struct omap_dss_device *dssdev)
        venc_power_off(dssdev);
 
        dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
+
+       omap_dss_stop_device(dssdev);
 end:
        mutex_unlock(&venc.venc_lock);
 }