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, and add a new i8042.forcedprobe parameter to allow people to override it. Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx> --- drivers/input/serio/i8042-x86ia64io.h | 5 +++++ drivers/input/serio/i8042.c | 3 +++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index 6168469..2c5d9c0 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 @@ -747,6 +749,9 @@ static int __init i8042_pnp_init(void) #if defined(__ia64__) return -ENODEV; #else + if (!acpi_disabled && !i8042_forceprobe) + return -ENODEV; + printk(KERN_INFO "PNP: No PS/2 controller found. Probing ports directly.\n"); return 0; #endif diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 6440a8f..413c5a6 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -75,6 +75,9 @@ MODULE_PARM_DESC(dritek, "Force enable the Dritek keyboard extension"); static bool i8042_nopnp; module_param_named(nopnp, i8042_nopnp, bool, 0); MODULE_PARM_DESC(nopnp, "Do not use PNP to detect controller settings"); +static bool i8042_forceprobe; +module_param_named(forceprobe, i8042_forceprobe, bool, 0); +MODULE_PARM_DESC(forceprobe, "Force probing even if no PNP devices were found"); #endif #define DEBUG -- 1.7.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html