diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/input/mouse/elantech.c | 26 | ||||
| -rw-r--r-- | drivers/input/serio/ams_delta_serio.c | 1 | ||||
| -rw-r--r-- | drivers/input/serio/i8042-x86ia64io.h | 14 |
3 files changed, 33 insertions, 8 deletions
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c index 09b93b11a274..e2a9867c19d5 100644 --- a/drivers/input/mouse/elantech.c +++ b/drivers/input/mouse/elantech.c | |||
| @@ -1210,18 +1210,28 @@ static int elantech_reconnect(struct psmouse *psmouse) | |||
| 1210 | */ | 1210 | */ |
| 1211 | static int elantech_set_properties(struct elantech_data *etd) | 1211 | static int elantech_set_properties(struct elantech_data *etd) |
| 1212 | { | 1212 | { |
| 1213 | /* This represents the version of IC body. */ | ||
| 1213 | int ver = (etd->fw_version & 0x0f0000) >> 16; | 1214 | int ver = (etd->fw_version & 0x0f0000) >> 16; |
| 1214 | 1215 | ||
| 1216 | /* Early version of Elan touchpads doesn't obey the rule. */ | ||
| 1215 | if (etd->fw_version < 0x020030 || etd->fw_version == 0x020600) | 1217 | if (etd->fw_version < 0x020030 || etd->fw_version == 0x020600) |
| 1216 | etd->hw_version = 1; | 1218 | etd->hw_version = 1; |
| 1217 | else if (etd->fw_version < 0x150600) | 1219 | else { |
| 1218 | etd->hw_version = 2; | 1220 | switch (ver) { |
| 1219 | else if (ver == 5) | 1221 | case 2: |
| 1220 | etd->hw_version = 3; | 1222 | case 4: |
| 1221 | else if (ver == 6) | 1223 | etd->hw_version = 2; |
| 1222 | etd->hw_version = 4; | 1224 | break; |
| 1223 | else | 1225 | case 5: |
| 1224 | return -1; | 1226 | etd->hw_version = 3; |
| 1227 | break; | ||
| 1228 | case 6: | ||
| 1229 | etd->hw_version = 4; | ||
| 1230 | break; | ||
| 1231 | default: | ||
| 1232 | return -1; | ||
| 1233 | } | ||
| 1234 | } | ||
| 1225 | 1235 | ||
| 1226 | /* | 1236 | /* |
| 1227 | * Turn on packet checking by default. | 1237 | * Turn on packet checking by default. |
diff --git a/drivers/input/serio/ams_delta_serio.c b/drivers/input/serio/ams_delta_serio.c index 4b2a42f9f0bb..d4d08bd9205b 100644 --- a/drivers/input/serio/ams_delta_serio.c +++ b/drivers/input/serio/ams_delta_serio.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/irq.h> | 24 | #include <linux/irq.h> |
| 25 | #include <linux/serio.h> | 25 | #include <linux/serio.h> |
| 26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
| 27 | #include <linux/module.h> | ||
| 27 | 28 | ||
| 28 | #include <asm/mach-types.h> | 29 | #include <asm/mach-types.h> |
| 29 | #include <plat/board-ams-delta.h> | 30 | #include <plat/board-ams-delta.h> |
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index bb9f5d31f0d0..b4cfc6c8be89 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h | |||
| @@ -431,6 +431,13 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = { | |||
| 431 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), | 431 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), |
| 432 | }, | 432 | }, |
| 433 | }, | 433 | }, |
| 434 | { | ||
| 435 | /* Newer HP Pavilion dv4 models */ | ||
| 436 | .matches = { | ||
| 437 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
| 438 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv4 Notebook PC"), | ||
| 439 | }, | ||
| 440 | }, | ||
| 434 | { } | 441 | { } |
| 435 | }; | 442 | }; |
| 436 | 443 | ||
| @@ -560,6 +567,13 @@ static const struct dmi_system_id __initconst i8042_dmi_notimeout_table[] = { | |||
| 560 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), | 567 | DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), |
| 561 | }, | 568 | }, |
| 562 | }, | 569 | }, |
| 570 | { | ||
| 571 | /* Newer HP Pavilion dv4 models */ | ||
| 572 | .matches = { | ||
| 573 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
| 574 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv4 Notebook PC"), | ||
| 575 | }, | ||
| 576 | }, | ||
| 563 | { } | 577 | { } |
| 564 | }; | 578 | }; |
| 565 | 579 | ||
