diff options
author | Florian Ragwitz <rafl@debian.org> | 2010-04-27 03:47:04 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2010-05-04 02:34:33 -0400 |
commit | f81bc788ff91d4efd4baf88b2c29713838caa8e5 (patch) | |
tree | e2e629399bc1fbca262fb6d46cfa5af6debae2f4 /drivers/input | |
parent | 225c61aad38b12924b3df5f4ef43150c0d6bae8c (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.c | 12 |
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 | ||
27 | static bool force_elantech; | ||
28 | module_param_named(force_elantech, force_elantech, bool, 0644); | ||
29 | MODULE_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) { |