aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/pxafb.c7
-rw-r--r--drivers/video/pxafb.h2
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