[coreboot] [commit] r5173 - trunk/src/pc80

repository service svn at coreboot.org
Sun Feb 28 20:12:37 CET 2010


Author: stepan
Date: Sun Feb 28 20:12:37 2010
New Revision: 5173
URL: http://tracker.coreboot.org/trac/coreboot/changeset/5173

Log:
use names instead of numbers where possible, also print a better message if no
keyboard is connected.

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Stefan Reinauer <stepan at coresystems.de>

Modified:
   trunk/src/pc80/keyboard.c

Modified: trunk/src/pc80/keyboard.c
==============================================================================
--- trunk/src/pc80/keyboard.c	Sun Feb 28 19:37:38 2010	(r5172)
+++ trunk/src/pc80/keyboard.c	Sun Feb 28 20:12:37 2010	(r5173)
@@ -154,7 +154,7 @@
 		}
 		regval = inb(KBD_DATA);
 		--resend;
-	} while (regval == 0xFE && resend > 0);
+	} while (regval == KBD_REPLY_RESEND && resend > 0);
 
 	return regval;
 }
@@ -183,7 +183,13 @@
 
 	/* reset keyboard and self test (keyboard side) */
 	regval = send_keyboard(0xFF);
-	if (regval != 0xFA) {
+	if (regval == KBD_REPLY_RESEND) {
+		/* keeps sending RESENDs, probably no keyboard. */
+		printk_info("No PS/2 keyboard detected.\n");
+		return;
+	}
+
+	if (regval != KBD_REPLY_ACK) {
 		printk_err("Keyboard selftest failed ACK: 0x%x\n", regval);
 		return;
 	}
@@ -206,27 +212,27 @@
 
 	/* disable the keyboard */
 	regval = send_keyboard(0xF5);
-	if (regval != 0xFA) {
+	if (regval != KBD_REPLY_ACK) {
 		printk_err("Keyboard disable failed ACK: 0x%x\n", regval);
 		return;
 	}
 
 	/* Set scancode command */
 	regval = send_keyboard(0xF0);
-	if (regval != 0xFA) {
+	if (regval != KBD_REPLY_ACK) {
 		printk_err("Keyboard set scancode cmd failed ACK: 0x%x\n", regval);
 		return;
 	}
 	/* Set scancode mode 2 */
 	regval = send_keyboard(0x02);
-	if (regval != 0xFA) {
+	if (regval != KBD_REPLY_ACK) {
 		printk_err("Keyboard set scancode mode failed ACK: 0x%x\n", regval);
 		return;
 	}
 
 	/* enable the keyboard */
 	regval = send_keyboard(0xF4);
-	if (regval != 0xFA) {
+	if (regval != KBD_REPLY_ACK) {
 		printk_err("Keyboard enable failed ACK: 0x%x\n", regval);
 		return;
 	}




More information about the coreboot mailing list