aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorFlorian Ragwitz <rafl@debian.org>2010-04-27 03:47:04 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-05-04 02:34:33 -0400
commitf81bc788ff91d4efd4baf88b2c29713838caa8e5 (patch)
treee2e629399bc1fbca262fb6d46cfa5af6debae2f4 /drivers/input
parent225c61aad38b12924b3df5f4ef43150c0d6bae8c (diff)
Input: elantech - allow forcing Elantech protocol
Apparently hardware vendors now ship elantech touchpads with different version magic. This options allows for them to be tested easier with the current driver in order to add their magic to the whitelist later. Signed-off-by: Florian Ragwitz <rafl@debian.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/mouse/elantech.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
index 28eba48e68fd..095bd388c6dd 100644
--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -24,6 +24,10 @@
24 printk(KERN_DEBUG format, ##arg); \ 24 printk(KERN_DEBUG format, ##arg); \
25 } while (0) 25 } while (0)
26 26
27static bool force_elantech;
28module_param_named(force_elantech, force_elantech, bool, 0644);
29MODULE_PARM_DESC(force_elantech, "Force the Elantech PS/2 protocol extension to be used, 1 = enabled, 0 = disabled (default).");
30
27/* 31/*
28 * Send a Synaptics style sliced query command 32 * Send a Synaptics style sliced query command
29 */ 33 */
@@ -595,8 +599,12 @@ int elantech_detect(struct psmouse *psmouse, bool set_properties)
595 param[0], param[1], param[2]); 599 param[0], param[1], param[2]);
596 600
597 if (param[0] == 0 || param[1] != 0) { 601 if (param[0] == 0 || param[1] != 0) {
598 pr_debug("elantech.c: Probably not a real Elantech touchpad. Aborting.\n"); 602 if (!force_elantech) {
599 return -1; 603 pr_debug("elantech.c: Probably not a real Elantech touchpad. Aborting.\n");
604 return -1;
605 }
606
607 pr_debug("elantech.c: Probably not a real Elantech touchpad. Enabling anyway due to force_elantech.\n");
600 } 608 }
601 609
602 if (set_properties) { 610 if (set_properties) {