]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/video/sa1100fb.c
mac80211: fix sparse integer as NULL pointer warning
[linux-2.6-omap-h63xx.git] / drivers / video / sa1100fb.c
index a2e6e7205d7e082b79a2428a35b406059fa59c3e..78bcdbc3f4841bf5ce1c3bdebb25964d650fbc18 100644 (file)
 #include <linux/string.h>
 #include <linux/interrupt.h>
 #include <linux/slab.h>
+#include <linux/mm.h>
 #include <linux/fb.h>
 #include <linux/delay.h>
 #include <linux/init.h>
 #include <linux/cpufreq.h>
 #include <linux/platform_device.h>
 #include <linux/dma-mapping.h>
+#include <linux/mutex.h>
 
 #include <asm/hardware.h>
 #include <asm/io.h>
 #include <asm/mach-types.h>
-#include <asm/uaccess.h>
 #include <asm/arch/assabet.h>
 #include <asm/arch/shannon.h>
 
@@ -1085,7 +1086,7 @@ static void sa1100fb_disable_controller(struct sa1100fb_info *fbi)
 /*
  *  sa1100fb_handle_irq: Handle 'LCD DONE' interrupts.
  */
-static irqreturn_t sa1100fb_handle_irq(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t sa1100fb_handle_irq(int irq, void *dev_id)
 {
        struct sa1100fb_info *fbi = dev_id;
        unsigned int lcsr = LCSR;
@@ -1108,7 +1109,7 @@ static void set_ctrlr_state(struct sa1100fb_info *fbi, u_int state)
 {
        u_int old_state;
 
-       down(&fbi->ctrlr_sem);
+       mutex_lock(&fbi->ctrlr_lock);
 
        old_state = fbi->state;
 
@@ -1193,16 +1194,16 @@ static void set_ctrlr_state(struct sa1100fb_info *fbi, u_int state)
                }
                break;
        }
-       up(&fbi->ctrlr_sem);
+       mutex_unlock(&fbi->ctrlr_lock);
 }
 
 /*
  * Our LCD controller task (which is called when we blank or unblank)
  * via keventd.
  */
-static void sa1100fb_task(void *dummy)
+static void sa1100fb_task(struct work_struct *w)
 {
-       struct sa1100fb_info *fbi = dummy;
+       struct sa1100fb_info *fbi = container_of(w, struct sa1100fb_info, task);
        u_int state = xchg(&fbi->task_state, -1);
 
        set_ctrlr_state(fbi, state);
@@ -1444,8 +1445,8 @@ static struct sa1100fb_info * __init sa1100fb_init_fbinfo(struct device *dev)
                                          fbi->max_bpp / 8;
 
        init_waitqueue_head(&fbi->ctrlr_wait);
-       INIT_WORK(&fbi->task, sa1100fb_task, fbi);
-       init_MUTEX(&fbi->ctrlr_sem);
+       INIT_WORK(&fbi->task, sa1100fb_task);
+       mutex_init(&fbi->ctrlr_lock);
 
        return fbi;
 }