summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/apply.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-11-21 12:34:48 +0100
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-12-02 07:54:54 +0100
commit2a4ee7ee685f3bf996461ed0d148857ce85a00e2 (patch)
treea1f3308e9459d143fa9124a5d7267003d39bb88d /drivers/video/omap2/dss/apply.c
parentOMAPDSS: APPLY: add checking of ovls/mgrs settings (diff)
downloadlinux-2a4ee7ee685f3bf996461ed0d148857ce85a00e2.tar.xz
linux-2a4ee7ee685f3bf996461ed0d148857ce85a00e2.zip
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>
Diffstat (limited to 'drivers/video/omap2/dss/apply.c')
-rw-r--r--drivers/video/omap2/dss/apply.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 6eb48586501c..614592c7a75c 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/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)