The E7 report output can be ambiguous for newer touchpads; the manufacturer's own drivers use the EC report instead, and check a wider range of IDs than what is in the current table. Implement similar behavior in alps.c. Tested on Dell E6410 (E7 report: 73 02 64; EC report: 88 07 9d) Signed-off-by: Kevin Cernekee <cernekee@xxxxxxxxx> --- drivers/input/mouse/alps.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 338e97e..21fc8c9 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -109,8 +109,6 @@ static const struct alps_model_info alps_model_data[] = { { { 0x73, 0x02, 0x50 }, 0x00, ALPS_PROTO_V2, 0xcf, 0xcf, ALPS_FOUR_BUTTONS }, /* Dell Vostro 1400 */ { { 0x52, 0x01, 0x14 }, 0x00, ALPS_PROTO_V2, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Toshiba Tecra A11-11L */ - { { 0x73, 0x02, 0x64 }, 0x9b, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT }, - { { 0x73, 0x02, 0x64 }, 0x9d, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT }, { { 0x73, 0x02, 0x64 }, 0x8a, ALPS_PROTO_V4, 0x8f, 0x8f, 0 }, }; @@ -118,6 +116,10 @@ static const struct alps_model_info alps_model_rushmore = { { ALPS_RUSHMORE }, 0x00, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT }; +static const struct alps_model_info alps_model_pinnacle_agx = { + { ALPS_PINAGX }, 0x00, ALPS_PROTO_V3, 0x8f, 0x8f, ALPS_DUALPOINT +}; + /* * XXX - this entry is suspicious. First byte has zero lower nibble, * which is what a normal mouse would report. Also, the value 0x0e @@ -1040,13 +1042,13 @@ static const struct alps_model_info *alps_probe_pinnacle( (param[1] != 0x07 && param[1] != 0x08)) goto out; - /* For now this code has only been verified to detect Rushmore */ + /* This code has not been tested with Pinnacle AG or Pinnacle */ if (param[1] == 0x08) model = &alps_model_rushmore; else if (param[2] >= 0x80 && param[2] <= 0x8f) psmouse_info(psmouse, "detected Pinnacle AG via EC report\n"); else if (param[2] >= 0x90 && param[2] <= 0x9d) - psmouse_info(psmouse, "detected Pinnacle AGx via EC report\n"); + model = &alps_model_pinnacle_agx; else if (param[2] < 0x80) psmouse_info(psmouse, "detected Pinnacle via EC report\n"); -- 1.7.10.4 -- 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