diff options
| -rw-r--r-- | drivers/video/omap2/dss/apply.c | 12 | ||||
| -rw-r--r-- | drivers/video/omap2/dss/dss.h | 2 |
2 files changed, 10 insertions, 4 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) | |||
| 967 | } | 967 | } |
| 968 | } | 968 | } |
| 969 | 969 | ||
| 970 | void dss_mgr_enable(struct omap_overlay_manager *mgr) | 970 | int dss_mgr_enable(struct omap_overlay_manager *mgr) |
| 971 | { | 971 | { |
| 972 | struct mgr_priv_data *mp = get_mgr_priv(mgr); | 972 | struct mgr_priv_data *mp = get_mgr_priv(mgr); |
| 973 | unsigned long flags; | 973 | unsigned long flags; |
| @@ -986,8 +986,7 @@ void dss_mgr_enable(struct omap_overlay_manager *mgr) | |||
| 986 | if (r) { | 986 | if (r) { |
| 987 | DSSERR("failed to enable manager %d: check_settings failed\n", | 987 | DSSERR("failed to enable manager %d: check_settings failed\n", |
| 988 | mgr->id); | 988 | mgr->id); |
| 989 | spin_unlock_irqrestore(&data_lock, flags); | 989 | goto err; |
| 990 | goto out; | ||
| 991 | } | 990 | } |
| 992 | 991 | ||
| 993 | mp->enabled = true; | 992 | mp->enabled = true; |
| @@ -1006,6 +1005,13 @@ void dss_mgr_enable(struct omap_overlay_manager *mgr) | |||
| 1006 | 1005 | ||
| 1007 | out: | 1006 | out: |
| 1008 | mutex_unlock(&apply_lock); | 1007 | mutex_unlock(&apply_lock); |
| 1008 | |||
| 1009 | return 0; | ||
| 1010 | |||
| 1011 | err: | ||
| 1012 | spin_unlock_irqrestore(&data_lock, flags); | ||
| 1013 | mutex_unlock(&apply_lock); | ||
| 1014 | return r; | ||
| 1009 | } | 1015 | } |
| 1010 | 1016 | ||
| 1011 | void dss_mgr_disable(struct omap_overlay_manager *mgr) | 1017 | void dss_mgr_disable(struct omap_overlay_manager *mgr) |
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h index 6fce3108c060..45b724ae04fe 100644 --- a/drivers/video/omap2/dss/dss.h +++ b/drivers/video/omap2/dss/dss.h | |||
| @@ -170,7 +170,7 @@ int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl); | |||
| 170 | void dss_mgr_start_update(struct omap_overlay_manager *mgr); | 170 | void dss_mgr_start_update(struct omap_overlay_manager *mgr); |
| 171 | int omap_dss_mgr_apply(struct omap_overlay_manager *mgr); | 171 | int omap_dss_mgr_apply(struct omap_overlay_manager *mgr); |
| 172 | 172 | ||
| 173 | void dss_mgr_enable(struct omap_overlay_manager *mgr); | 173 | int dss_mgr_enable(struct omap_overlay_manager *mgr); |
| 174 | void dss_mgr_disable(struct omap_overlay_manager *mgr); | 174 | void dss_mgr_disable(struct omap_overlay_manager *mgr); |
| 175 | int dss_mgr_set_info(struct omap_overlay_manager *mgr, | 175 | int dss_mgr_set_info(struct omap_overlay_manager *mgr, |
| 176 | struct omap_overlay_manager_info *info); | 176 | struct omap_overlay_manager_info *info); |
