pxafb: convert ctrlr_sem in a mutex
authorMatthias Kaehlcke <matthias@kaehlcke.net>
Thu, 24 Jul 2008 04:31:14 +0000 (21:31 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Jul 2008 17:47:37 +0000 (10:47 -0700)
The semaphore ctrlr_sem is used as a mutex.  Convert it to the mutex API.

Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Cc: Daniel Mack <daniel@caiaq.de>
Cc: Eric Miao <eric.miao@marvell.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/pxafb.c
drivers/video/pxafb.h

index 5e8a140399fc962cb5c6416ef16a880ec96c10c8..2b707a8ce5de6aae110bc566dc1a9c16fd731156 100644 (file)
@@ -41,6 +41,7 @@
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/completion.h>
+#include <linux/mutex.h>
 #include <linux/kthread.h>
 #include <linux/freezer.h>
 
@@ -1117,7 +1118,7 @@ static void set_ctrlr_state(struct pxafb_info *fbi, u_int state)
 {
        u_int old_state;
 
-       down(&fbi->ctrlr_sem);
+       mutex_lock(&fbi->ctrlr_lock);
 
        old_state = fbi->state;
 
@@ -1205,7 +1206,7 @@ static void set_ctrlr_state(struct pxafb_info *fbi, u_int state)
                }
                break;
        }
-       up(&fbi->ctrlr_sem);
+       mutex_unlock(&fbi->ctrlr_lock);
 }
 
 /*
@@ -1458,7 +1459,7 @@ static struct pxafb_info * __devinit pxafb_init_fbinfo(struct device *dev)
 
        init_waitqueue_head(&fbi->ctrlr_wait);
        INIT_WORK(&fbi->task, pxafb_task);
-       init_MUTEX(&fbi->ctrlr_sem);
+       mutex_init(&fbi->ctrlr_lock);
        init_completion(&fbi->disable_done);
 #ifdef CONFIG_FB_PXA_SMARTPANEL
        init_completion(&fbi->command_done);
index 8238dc8264297fb42c1b2b40226fb64edfb53c32..31541b86f13d2d0e509fb9649342fbcb7b666126 100644 (file)
@@ -106,7 +106,7 @@ struct pxafb_info {
 
        volatile u_char         state;
        volatile u_char         task_state;
-       struct semaphore        ctrlr_sem;
+       struct mutex            ctrlr_lock;
        wait_queue_head_t       ctrlr_wait;
        struct work_struct      task;