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 6eb48586501cdc5601b70b121c269a958b8864d3..614592c7a75c858c1e6444a994d509d14865bf8f 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 6fce3108c060484aa250df6adcb0aa91dd7f103e..45b724ae04fe6c71e641e2d3471579d6a374ea29 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);