vserver 1.9.5.x5
[linux-2.6.git] / drivers / char / ec3104_keyb.c
index 933282d..4aed669 100644 (file)
@@ -43,9 +43,9 @@
 #include <linux/slab.h>
 #include <linux/kbd_kern.h>
 #include <linux/smp_lock.h>
+#include <linux/bitops.h>
 
 #include <asm/keyboard.h>
-#include <asm/bitops.h>
 #include <asm/uaccess.h>
 #include <asm/irq.h>
 #include <asm/system.h>
@@ -92,7 +92,7 @@ static void aux_write_ack(int val);
 static void __aux_write_ack(int val);
 #endif
 
-static spinlock_t kbd_controller_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(kbd_controller_lock);
 static unsigned char handle_kbd_event(void);
 
 /* used only by send_data - set by keyboard_interrupt */
@@ -412,7 +412,7 @@ static void ec3104_keyb_clear_state(void)
        k->last_msr = 0;
 
        for (;;) {
-               schedule_timeout(HZ/10);
+               msleep(100);
 
                msr = ctrl_inb(EC3104_SER4_MSR);