Commit f46c5818 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input subsystem fixes from Dmitry Torokhov:
 "Just a couple touchpad drivers fixups"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: alps - do not reduce trackpoint speed by half
  Input: elantech - add new icbody type
  Input: elantech - fix detection of touchpads where the revision matches a known rate
parents 77493bd9 088df2cc
...@@ -1063,9 +1063,8 @@ static void alps_process_trackstick_packet_v7(struct psmouse *psmouse) ...@@ -1063,9 +1063,8 @@ static void alps_process_trackstick_packet_v7(struct psmouse *psmouse)
right = (packet[1] & 0x02) >> 1; right = (packet[1] & 0x02) >> 1;
middle = (packet[1] & 0x04) >> 2; middle = (packet[1] & 0x04) >> 2;
/* Divide 2 since trackpoint's speed is too fast */ input_report_rel(dev2, REL_X, (char)x);
input_report_rel(dev2, REL_X, (char)x / 2); input_report_rel(dev2, REL_Y, -((char)y));
input_report_rel(dev2, REL_Y, -((char)y / 2));
input_report_key(dev2, BTN_LEFT, left); input_report_key(dev2, BTN_LEFT, left);
input_report_key(dev2, BTN_RIGHT, right); input_report_key(dev2, BTN_RIGHT, right);
......
...@@ -1376,10 +1376,11 @@ static bool elantech_is_signature_valid(const unsigned char *param) ...@@ -1376,10 +1376,11 @@ static bool elantech_is_signature_valid(const unsigned char *param)
return true; return true;
/* /*
* Some models have a revision higher then 20. Meaning param[2] may * Some hw_version >= 4 models have a revision higher then 20. Meaning
* be 10 or 20, skip the rates check for these. * that param[2] may be 10 or 20, skip the rates check for these.
*/ */
if (param[0] == 0x46 && (param[1] & 0xef) == 0x0f && param[2] < 40) if ((param[0] & 0x0f) >= 0x06 && (param[1] & 0xaf) == 0x0f &&
param[2] < 40)
return true; return true;
for (i = 0; i < ARRAY_SIZE(rates); i++) for (i = 0; i < ARRAY_SIZE(rates); i++)
...@@ -1555,6 +1556,7 @@ static int elantech_set_properties(struct elantech_data *etd) ...@@ -1555,6 +1556,7 @@ static int elantech_set_properties(struct elantech_data *etd)
case 9: case 9:
case 10: case 10:
case 13: case 13:
case 14:
etd->hw_version = 4; etd->hw_version = 4;
break; break;
default: default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment