aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/mouse')
-rw-r--r--drivers/input/mouse/elan_i2c_core.c25
-rw-r--r--drivers/input/mouse/elantech.c24
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
219static int elan_check_ASUS_special_fw(struct elan_tp_data *data) 219static 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
234static int __elan_initialize(struct elan_tp_data *data) 236static 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"),