[PATCH V3] input: Default to only using PNP for i8042 probing on x86
From: Matthew Garrett
Date: Mon May 17 2010 - 17:20:34 EST
Experimenting with Windows has revealed that it will not probe the
keyboard controller unless a valid PNPACPI device is present. Change our
behaviour to match - users can override by using the existing
i8042.nopnp=1 parameter.
Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
---
drivers/input/serio/i8042-x86ia64io.h | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 6168469..19d11f3 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -1,6 +1,8 @@
#ifndef _I8042_X86IA64IO_H
#define _I8042_X86IA64IO_H
+#include <linux/acpi.h>
+
/*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published by
@@ -744,12 +746,16 @@ static int __init i8042_pnp_init(void)
if (!i8042_pnp_kbd_devices && !i8042_pnp_aux_devices) {
i8042_pnp_exit();
-#if defined(__ia64__)
- return -ENODEV;
-#else
+
+ /* Non-ACPI systems are much less likely to have the
+ * KBC declared via PNP, so if acpi is disabled fall
+ * back to banging the ports directly */
+
+ if (!acpi_disabled)
+ return -ENODEV;
+
printk(KERN_INFO "PNP: No PS/2 controller found. Probing ports directly.\n");
return 0;
-#endif
}
if (i8042_pnp_kbd_devices)
--
1.7.0.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/