From: Matthias Kaehlcke The semaphore ctrlr_sem is used as a mutex. Convert it to the mutex API. Signed-off-by: Matthias Kaehlcke Cc: Daniel Mack Cc: Eric Miao Cc: Russell King Signed-off-by: Andrew Morton --- drivers/video/pxafb.c | 7 ++++--- drivers/video/pxafb.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff -puN drivers/video/pxafb.c~pxafb-convert-ctrlr_sem-in-a-mutex drivers/video/pxafb.c --- a/drivers/video/pxafb.c~pxafb-convert-ctrlr_sem-in-a-mutex +++ a/drivers/video/pxafb.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include @@ -1058,7 +1059,7 @@ static void set_ctrlr_state(struct pxafb { u_int old_state; - down(&fbi->ctrlr_sem); + mutex_lock(&fbi->ctrlr_lock); old_state = fbi->state; @@ -1146,7 +1147,7 @@ static void set_ctrlr_state(struct pxafb } break; } - up(&fbi->ctrlr_sem); + mutex_unlock(&fbi->ctrlr_lock); } /* @@ -1397,7 +1398,7 @@ static struct pxafb_info * __init pxafb_ 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); diff -puN drivers/video/pxafb.h~pxafb-convert-ctrlr_sem-in-a-mutex drivers/video/pxafb.h --- a/drivers/video/pxafb.h~pxafb-convert-ctrlr_sem-in-a-mutex +++ a/drivers/video/pxafb.h @@ -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; _