diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-21 12:34:48 +0100 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-12-02 07:54:54 +0100 |
commit | 2a4ee7ee685f3bf996461ed0d148857ce85a00e2 (patch) | |
tree | a1f3308e9459d143fa9124a5d7267003d39bb88d /drivers/video/omap2/dss/apply.c | |
parent | OMAPDSS: APPLY: add checking of ovls/mgrs settings (diff) | |
download | linux-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.c | 12 |
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) |