diff options
Diffstat (limited to 'drivers/input/mouse')
-rw-r--r-- | drivers/input/mouse/elan_i2c_core.c | 25 | ||||
-rw-r--r-- | drivers/input/mouse/elantech.c | 24 |
2 files changed, 40 insertions, 9 deletions
diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c index d15b33813021..98d4e515587a 100644 --- a/drivers/input/mouse/elan_i2c_core.c +++ b/drivers/input/mouse/elan_i2c_core.c | |||
@@ -218,17 +218,19 @@ static int elan_query_product(struct elan_tp_data *data) | |||
218 | 218 | ||
219 | static int elan_check_ASUS_special_fw(struct elan_tp_data *data) | 219 | static int elan_check_ASUS_special_fw(struct elan_tp_data *data) |
220 | { | 220 | { |
221 | if (data->ic_type != 0x0E) | 221 | if (data->ic_type == 0x0E) { |
222 | return false; | 222 | switch (data->product_id) { |
223 | 223 | case 0x05 ... 0x07: | |
224 | switch (data->product_id) { | 224 | case 0x09: |
225 | case 0x05 ... 0x07: | 225 | case 0x13: |
226 | case 0x09: | 226 | return true; |
227 | case 0x13: | 227 | } |
228 | } else if (data->ic_type == 0x08 && data->product_id == 0x26) { | ||
229 | /* ASUS EeeBook X205TA */ | ||
228 | return true; | 230 | return true; |
229 | default: | ||
230 | return false; | ||
231 | } | 231 | } |
232 | |||
233 | return false; | ||
232 | } | 234 | } |
233 | 235 | ||
234 | static int __elan_initialize(struct elan_tp_data *data) | 236 | static int __elan_initialize(struct elan_tp_data *data) |
@@ -1232,6 +1234,11 @@ static const struct acpi_device_id elan_acpi_id[] = { | |||
1232 | { "ELAN0000", 0 }, | 1234 | { "ELAN0000", 0 }, |
1233 | { "ELAN0100", 0 }, | 1235 | { "ELAN0100", 0 }, |
1234 | { "ELAN0600", 0 }, | 1236 | { "ELAN0600", 0 }, |
1237 | { "ELAN0605", 0 }, | ||
1238 | { "ELAN0608", 0 }, | ||
1239 | { "ELAN0605", 0 }, | ||
1240 | { "ELAN0609", 0 }, | ||
1241 | { "ELAN060B", 0 }, | ||
1235 | { "ELAN1000", 0 }, | 1242 | { "ELAN1000", 0 }, |
1236 | { } | 1243 | { } |
1237 | }; | 1244 | }; |
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c index 43482ae1e049..6f4dc0fd2ca3 100644 --- a/drivers/input/mouse/elantech.c +++ b/drivers/input/mouse/elantech.c | |||
@@ -1122,7 +1122,10 @@ static int elantech_get_resolution_v4(struct psmouse *psmouse, | |||
1122 | * Asus UX32VD 0x361f02 00, 15, 0e clickpad | 1122 | * Asus UX32VD 0x361f02 00, 15, 0e clickpad |
1123 | * Avatar AVIU-145A2 0x361f00 ? clickpad | 1123 | * Avatar AVIU-145A2 0x361f00 ? clickpad |
1124 | * Fujitsu LIFEBOOK E544 0x470f00 d0, 12, 09 2 hw buttons | 1124 | * Fujitsu LIFEBOOK E544 0x470f00 d0, 12, 09 2 hw buttons |
1125 | * Fujitsu LIFEBOOK E546 0x470f00 50, 12, 09 2 hw buttons | ||
1126 | * Fujitsu LIFEBOOK E547 0x470f00 50, 12, 09 2 hw buttons | ||
1125 | * Fujitsu LIFEBOOK E554 0x570f01 40, 14, 0c 2 hw buttons | 1127 | * Fujitsu LIFEBOOK E554 0x570f01 40, 14, 0c 2 hw buttons |
1128 | * Fujitsu LIFEBOOK E557 0x570f01 40, 14, 0c 2 hw buttons | ||
1126 | * Fujitsu T725 0x470f01 05, 12, 09 2 hw buttons | 1129 | * Fujitsu T725 0x470f01 05, 12, 09 2 hw buttons |
1127 | * Fujitsu H730 0x570f00 c0, 14, 0c 3 hw buttons (**) | 1130 | * Fujitsu H730 0x570f00 c0, 14, 0c 3 hw buttons (**) |
1128 | * Gigabyte U2442 0x450f01 58, 17, 0c 2 hw buttons | 1131 | * Gigabyte U2442 0x450f01 58, 17, 0c 2 hw buttons |
@@ -1528,6 +1531,20 @@ static const struct dmi_system_id elantech_dmi_force_crc_enabled[] = { | |||
1528 | }, | 1531 | }, |
1529 | }, | 1532 | }, |
1530 | { | 1533 | { |
1534 | /* Fujitsu LIFEBOOK E546 does not work with crc_enabled == 0 */ | ||
1535 | .matches = { | ||
1536 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
1537 | DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E546"), | ||
1538 | }, | ||
1539 | }, | ||
1540 | { | ||
1541 | /* Fujitsu LIFEBOOK E547 does not work with crc_enabled == 0 */ | ||
1542 | .matches = { | ||
1543 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
1544 | DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E547"), | ||
1545 | }, | ||
1546 | }, | ||
1547 | { | ||
1531 | /* Fujitsu LIFEBOOK E554 does not work with crc_enabled == 0 */ | 1548 | /* Fujitsu LIFEBOOK E554 does not work with crc_enabled == 0 */ |
1532 | .matches = { | 1549 | .matches = { |
1533 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | 1550 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), |
@@ -1542,6 +1559,13 @@ static const struct dmi_system_id elantech_dmi_force_crc_enabled[] = { | |||
1542 | }, | 1559 | }, |
1543 | }, | 1560 | }, |
1544 | { | 1561 | { |
1562 | /* Fujitsu LIFEBOOK E557 does not work with crc_enabled == 0 */ | ||
1563 | .matches = { | ||
1564 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
1565 | DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E557"), | ||
1566 | }, | ||
1567 | }, | ||
1568 | { | ||
1545 | /* Fujitsu LIFEBOOK U745 does not work with crc_enabled == 0 */ | 1569 | /* Fujitsu LIFEBOOK U745 does not work with crc_enabled == 0 */ |
1546 | .matches = { | 1570 | .matches = { |
1547 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | 1571 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), |