OMAPDSS: APPLY: add return value to dss_mgr_enable()
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 21 Nov 2011 11:34:48 +0000 (13:34 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Dec 2011 06:54:54 +0000 (08:54 +0200)
Now that dss_mgr_enable() can fail due to checks, make it return the
error value.

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

index 6eb4858..614592c 100644 (file)
@@ -967,7 +967,7 @@ static void dss_mgr_setup_fifos(struct omap_overlay_manager *mgr)
        }
 }
 
-void dss_mgr_enable(struct omap_overlay_manager *mgr)
+int dss_mgr_enable(struct omap_overlay_manager *mgr)
 {
        struct mgr_priv_data *mp = get_mgr_priv(mgr);
        unsigned long flags;
@@ -986,8 +986,7 @@ void dss_mgr_enable(struct omap_overlay_manager *mgr)
        if (r) {
                DSSERR("failed to enable manager %d: check_settings failed\n",
                                mgr->id);
-               spin_unlock_irqrestore(&data_lock, flags);
-               goto out;
+               goto err;
        }
 
        mp->enabled = true;
@@ -1006,6 +1005,13 @@ void dss_mgr_enable(struct omap_overlay_manager *mgr)
 
 out:
        mutex_unlock(&apply_lock);
+
+       return 0;
+
+err:
+       spin_unlock_irqrestore(&data_lock, flags);
+       mutex_unlock(&apply_lock);
+       return r;
 }
 
 void dss_mgr_disable(struct omap_overlay_manager *mgr)
index 6fce310..45b724a 100644 (file)
@@ -170,7 +170,7 @@ int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl);
 void dss_mgr_start_update(struct omap_overlay_manager *mgr);
 int omap_dss_mgr_apply(struct omap_overlay_manager *mgr);
 
-void dss_mgr_enable(struct omap_overlay_manager *mgr);
+int dss_mgr_enable(struct omap_overlay_manager *mgr);
 void dss_mgr_disable(struct omap_overlay_manager *mgr);
 int dss_mgr_set_info(struct omap_overlay_manager *mgr,
                struct omap_overlay_manager_info *info);