diff options
author | Joerg Roedel <jroedel@suse.de> | 2015-01-26 13:42:49 +0100 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2015-01-26 13:42:49 +0100 |
commit | fd47b693c3c694da8210b5a0c01b1e379f4d9865 (patch) | |
tree | 84d8c5596df7f6eb295ac380b8ddb983af6c906d /drivers/input/serio/i8042.c | |
parent | Merge branch 'iommu/next' of git://linuxtv.org/pinchartl/fbdev into arm/renesas (diff) | |
parent | Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/lin... (diff) | |
download | linux-fd47b693c3c694da8210b5a0c01b1e379f4d9865.tar.xz linux-fd47b693c3c694da8210b5a0c01b1e379f4d9865.zip |
Merge branch 'arm/smmu' into arm/renesas
Diffstat (limited to 'drivers/input/serio/i8042.c')
-rw-r--r-- | drivers/input/serio/i8042.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 924e4bf357fb..986a71c614b0 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -67,6 +67,10 @@ static bool i8042_notimeout; module_param_named(notimeout, i8042_notimeout, bool, 0); MODULE_PARM_DESC(notimeout, "Ignore timeouts signalled by i8042"); +static bool i8042_kbdreset; +module_param_named(kbdreset, i8042_kbdreset, bool, 0); +MODULE_PARM_DESC(kbdreset, "Reset device connected to KBD port"); + #ifdef CONFIG_X86 static bool i8042_dritek; module_param_named(dritek, i8042_dritek, bool, 0); @@ -790,6 +794,16 @@ static int __init i8042_check_aux(void) return -1; /* + * Reset keyboard (needed on some laptops to successfully detect + * touchpad, e.g., some Gigabyte laptop models with Elantech + * touchpads). + */ + if (i8042_kbdreset) { + pr_warn("Attempting to reset device connected to KBD port\n"); + i8042_kbd_write(NULL, (unsigned char) 0xff); + } + +/* * Test AUX IRQ delivery to make sure BIOS did not grab the IRQ and * used it for a PCI card or somethig else. */ |