summaryrefslogtreecommitdiff
path: root/drivers/input/mouse/alps.c
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2017-03-07 09:41:34 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-03-07 09:49:28 -0800
commit09c398bc01f507e31b9c1325a10e231d271fea00 (patch)
tree36a85cbc3a11e8d582470d3aa258e607e454af01 /drivers/input/mouse/alps.c
parent4f95963558d4ed0019938b5410a3402700a1bc4c (diff)
Input: alps - move ALPS_PROTO_V4 out of alps_model_data table
Like for other protocols create alps_v4_protocol_data and use it in alps_identify() function. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/mouse/alps.c')
-rw-r--r--drivers/input/mouse/alps.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
index 72b28ebfe360..f36de829390b 100644
--- a/drivers/input/mouse/alps.c
+++ b/drivers/input/mouse/alps.c
@@ -138,7 +138,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 }, 0x8a, { ALPS_PROTO_V4, 0x8f, 0x8f, 0 } },
};
static const struct alps_protocol_info alps_v3_protocol_data = {
@@ -149,6 +148,10 @@ static const struct alps_protocol_info alps_v3_rushmore_data = {
ALPS_PROTO_V3_RUSHMORE, 0x8f, 0x8f, ALPS_DUALPOINT
};
+static const struct alps_protocol_info alps_v4_protocol_data = {
+ ALPS_PROTO_V4, 0x8f, 0x8f, 0
+};
+
static const struct alps_protocol_info alps_v5_protocol_data = {
ALPS_PROTO_V5, 0xc8, 0xd8, 0
};
@@ -2815,7 +2818,10 @@ static int alps_identify(struct psmouse *psmouse, struct alps_data *priv)
protocol = alps_match_table(e7, ec);
if (!protocol) {
- if (e7[0] == 0x73 && e7[1] == 0x03 && e7[2] == 0x50 &&
+ if (e7[0] == 0x73 && e7[1] == 0x02 && e7[2] == 0x64 &&
+ ec[2] == 0x8a) {
+ protocol = &alps_v4_protocol_data;
+ } else if (e7[0] == 0x73 && e7[1] == 0x03 && e7[2] == 0x50 &&
ec[0] == 0x73 && (ec[1] == 0x01 || ec[1] == 0x02)) {
protocol = &alps_v5_protocol_data;
} else if (ec[0] == 0x88 &&