]> git.sur5r.net Git - u-boot/blobdiff - drivers/input/i8042.c
input: Use finer grain udelays while waitng for the i8042 keyboard buffer to empty
[u-boot] / drivers / input / i8042.c
index c3bc5360ca299b258bfcb02ed073607b2f56189e..6839c6bac5b1128d63ecbcbd2336879942f00e75 100644 (file)
@@ -607,11 +607,10 @@ static void kbd_led_set(void)
 
 static int kbd_input_empty(void)
 {
-       int kbdTimeout = KBD_TIMEOUT;
+       int kbdTimeout = KBD_TIMEOUT * 1000;
 
-       /* wait for input buf empty */
-       while ((in8(I8042_STATUS_REG) & 0x02) && kbdTimeout--)
-               udelay(1000);
+       while ((in8(I8042_STATUS_REG) & I8042_STATUS_IN_DATA) && kbdTimeout--)
+               udelay(1);
 
        return kbdTimeout != -1;
 }
@@ -625,8 +624,6 @@ static int kbd_reset(void)
 
        out8(I8042_DATA_REG, 0xff);
 
-       udelay(250000);
-
        if (kbd_input_empty() == 0)
                return -1;