Browse Source

OMAPDSS: APPLY: add return value to dss_mgr_enable()

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>
Tomi Valkeinen 13 years ago
parent
commit
2a4ee7ee68
2 changed files with 10 additions and 4 deletions
  1. 9 3
      drivers/video/omap2/dss/apply.c
  2. 1 1
      drivers/video/omap2/dss/dss.h

+ 9 - 3
drivers/video/omap2/dss/apply.c

@@ -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)

+ 1 - 1
drivers/video/omap2/dss/dss.h

@@ -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);