"/lib/modules/$UNAME_RELEASE/.config" -> "arch/$ARCH/defconfig" : CONFIG_DEFCONFIG_LIST
[linux-2.6.git] / drivers / char / qtronix.c
index 4698af2..9d134e9 100644 (file)
@@ -33,7 +33,6 @@
  *  675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <linux/config.h>
 
 /* 
  * NOTE:  
@@ -69,7 +68,6 @@
 #include <linux/init.h>
 #include <linux/kbd_ll.h>
 #include <linux/delay.h>
-#include <linux/random.h>
 #include <linux/poll.h>
 #include <linux/miscdevice.h>
 #include <linux/slab.h>
@@ -79,7 +77,7 @@
 #include <linux/pc_keyb.h>
 
 #include <asm/keyboard.h>
-#include <asm/bitops.h>
+#include <linux/bitops.h>
 #include <asm/uaccess.h>
 #include <asm/irq.h>
 #include <asm/system.h>
@@ -146,7 +144,7 @@ void __init init_qtronix_990P_kbd(void)
        cir_port_init(cir);
 
        retval = request_irq(IT8172_CIR0_IRQ, kbd_int_handler, 
-                       (unsigned long )(SA_INTERRUPT|SA_SHIRQ), 
+                       (unsigned long )(IRQF_DISABLED|IRQF_SHARED),
                        (const char *)"Qtronix IR Keyboard", (void *)cir);
 
        if (retval) {
@@ -350,7 +348,7 @@ static int handle_data(unsigned char *p_data)
 }
 
 
-spinlock_t kbd_controller_lock = SPIN_LOCK_UNLOCKED;
+DEFINE_SPINLOCK(kbd_controller_lock);
 static unsigned char handle_kbd_event(void);
 
 
@@ -442,7 +440,6 @@ static inline void handle_mouse_event(unsigned char scancode)
                return;
        }
 
-       add_mouse_randomness(scancode);
        if (aux_count) {
                int head = queue->head;
 
@@ -537,7 +534,8 @@ repeat:
                i--;
        }
        if (count-i) {
-               file->f_dentry->d_inode->i_atime = CURRENT_TIME;
+               struct inode *inode = file->f_dentry->d_inode;
+               inode->i_atime = current_fs_time(inode->i_sb);
                return count-i;
        }
        if (signal_pending(current))
@@ -592,6 +590,11 @@ static int __init psaux_init(void)
                return retval;
 
        queue = (struct aux_queue *) kmalloc(sizeof(*queue), GFP_KERNEL);
+       if (!queue) {
+               misc_deregister(&psaux_mouse);
+               return -ENOMEM;
+       }
+               
        memset(queue, 0, sizeof(*queue));
        queue->head = queue->tail = 0;
        init_waitqueue_head(&queue->proc_list);