X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fchar%2Fqtronix.c;h=601d09baf9d76b04812b1471c611335b20b18ad4;hb=34a75f0025b9cf803b6a88db032e6ad6950c9313;hp=4698af2d62e36924d1eac0e1d4a57e6ae4d15549;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/char/qtronix.c b/drivers/char/qtronix.c index 4698af2d6..601d09baf 100644 --- a/drivers/char/qtronix.c +++ b/drivers/char/qtronix.c @@ -69,7 +69,6 @@ #include #include #include -#include #include #include #include @@ -79,7 +78,7 @@ #include #include -#include +#include #include #include #include @@ -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);