This makes it possible to run the ia64 kernel both on platforms with the
legacy keyboard controller and those without (as is the case for the hp
zx1 platform, for example). The new code is inside #ifdef CONFIG_IA64,
though it would probably be a good idea to enable it unconditionally.
The patch is by Alex Williamson.
{
int status;
+#ifdef CONFIG_IA64
+ /*
+ * This is not really IA-64 specific. Probably ought to be done on all platforms
+ * that are (potentially) legacy-free.
+ */
+ if (kbd_read_status() == 0xff && kbd_read_input() == 0xff) {
+ kbd_exists = 0;
+ return "No keyboard controller preset";
+ }
+#endif
+
/*
* Test the keyboard interface.
* This seems to be the only way to get it going.
char *msg = initialize_kbd();
if (msg)
printk(KERN_WARNING "initialize_kbd: %s\n", msg);
+#ifdef CONFIG_IA64
+ if (!kbd_exists)
+ return;
+#endif
}
#if defined CONFIG_PSMOUSE