diff options
-rw-r--r-- | drivers/video/pxafb.c | 7 | ||||
-rw-r--r-- | drivers/video/pxafb.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 5e8a140399fc..2b707a8ce5de 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <linux/clk.h> | 41 | #include <linux/clk.h> |
42 | #include <linux/err.h> | 42 | #include <linux/err.h> |
43 | #include <linux/completion.h> | 43 | #include <linux/completion.h> |
44 | #include <linux/mutex.h> | ||
44 | #include <linux/kthread.h> | 45 | #include <linux/kthread.h> |
45 | #include <linux/freezer.h> | 46 | #include <linux/freezer.h> |
46 | 47 | ||
@@ -1117,7 +1118,7 @@ static void set_ctrlr_state(struct pxafb_info *fbi, u_int state) | |||
1117 | { | 1118 | { |
1118 | u_int old_state; | 1119 | u_int old_state; |
1119 | 1120 | ||
1120 | down(&fbi->ctrlr_sem); | 1121 | mutex_lock(&fbi->ctrlr_lock); |
1121 | 1122 | ||
1122 | old_state = fbi->state; | 1123 | old_state = fbi->state; |
1123 | 1124 | ||
@@ -1205,7 +1206,7 @@ static void set_ctrlr_state(struct pxafb_info *fbi, u_int state) | |||
1205 | } | 1206 | } |
1206 | break; | 1207 | break; |
1207 | } | 1208 | } |
1208 | up(&fbi->ctrlr_sem); | 1209 | mutex_unlock(&fbi->ctrlr_lock); |
1209 | } | 1210 | } |
1210 | 1211 | ||
1211 | /* | 1212 | /* |
@@ -1458,7 +1459,7 @@ static struct pxafb_info * __devinit pxafb_init_fbinfo(struct device *dev) | |||
1458 | 1459 | ||
1459 | init_waitqueue_head(&fbi->ctrlr_wait); | 1460 | init_waitqueue_head(&fbi->ctrlr_wait); |
1460 | INIT_WORK(&fbi->task, pxafb_task); | 1461 | INIT_WORK(&fbi->task, pxafb_task); |
1461 | init_MUTEX(&fbi->ctrlr_sem); | 1462 | mutex_init(&fbi->ctrlr_lock); |
1462 | init_completion(&fbi->disable_done); | 1463 | init_completion(&fbi->disable_done); |
1463 | #ifdef CONFIG_FB_PXA_SMARTPANEL | 1464 | #ifdef CONFIG_FB_PXA_SMARTPANEL |
1464 | init_completion(&fbi->command_done); | 1465 | init_completion(&fbi->command_done); |
diff --git a/drivers/video/pxafb.h b/drivers/video/pxafb.h index 8238dc826429..31541b86f13d 100644 --- a/drivers/video/pxafb.h +++ b/drivers/video/pxafb.h | |||
@@ -106,7 +106,7 @@ struct pxafb_info { | |||
106 | 106 | ||
107 | volatile u_char state; | 107 | volatile u_char state; |
108 | volatile u_char task_state; | 108 | volatile u_char task_state; |
109 | struct semaphore ctrlr_sem; | 109 | struct mutex ctrlr_lock; |
110 | wait_queue_head_t ctrlr_wait; | 110 | wait_queue_head_t ctrlr_wait; |
111 | struct work_struct task; | 111 | struct work_struct task; |
112 | 112 | ||