Merge to Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.13-vs2...
[linux-2.6.git] / drivers / char / qtronix.c
index 4698af2..601d09b 100644 (file)
@@ -69,7 +69,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 +78,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>
@@ -350,7 +349,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 +441,6 @@ static inline void handle_mouse_event(unsigned char scancode)
                return;
        }
 
-       add_mouse_randomness(scancode);
        if (aux_count) {
                int head = queue->head;
 
@@ -537,7 +535,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 +591,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);