diff options
Diffstat (limited to 'drivers/input/serio/i8042-x86ia64io.h')
-rw-r--r-- | drivers/input/serio/i8042-x86ia64io.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index c5e68dcd88ac..4f6384d8e090 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h | |||
@@ -277,6 +277,50 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = { | |||
277 | 277 | ||
278 | #endif | 278 | #endif |
279 | 279 | ||
280 | #ifdef CONFIG_X86 | ||
281 | |||
282 | #include <linux/dmi.h> | ||
283 | |||
284 | /* | ||
285 | * Some Wistron based laptops need us to explicitly enable the 'Dritek | ||
286 | * keyboard extension' to make their extra keys start generating scancodes. | ||
287 | * Originally, this was just confined to older laptops, but a few Acer laptops | ||
288 | * have turned up in 2007 that also need this again. | ||
289 | */ | ||
290 | static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = { | ||
291 | { | ||
292 | .ident = "Acer Aspire 5630", | ||
293 | .matches = { | ||
294 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
295 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5630"), | ||
296 | }, | ||
297 | }, | ||
298 | { | ||
299 | .ident = "Acer Aspire 5650", | ||
300 | .matches = { | ||
301 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
302 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5650"), | ||
303 | }, | ||
304 | }, | ||
305 | { | ||
306 | .ident = "Acer Aspire 5680", | ||
307 | .matches = { | ||
308 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
309 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5680"), | ||
310 | }, | ||
311 | }, | ||
312 | { | ||
313 | .ident = "Acer TravelMate 2490", | ||
314 | .matches = { | ||
315 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
316 | DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 2490"), | ||
317 | }, | ||
318 | }, | ||
319 | { } | ||
320 | }; | ||
321 | |||
322 | #endif /* CONFIG_X86 */ | ||
323 | |||
280 | 324 | ||
281 | #ifdef CONFIG_PNP | 325 | #ifdef CONFIG_PNP |
282 | #include <linux/pnp.h> | 326 | #include <linux/pnp.h> |
@@ -520,6 +564,11 @@ static int __init i8042_platform_init(void) | |||
520 | i8042_nomux = 1; | 564 | i8042_nomux = 1; |
521 | #endif | 565 | #endif |
522 | 566 | ||
567 | #ifdef CONFIG_X86 | ||
568 | if (dmi_check_system(i8042_dmi_dritek_table)) | ||
569 | i8042_dritek = 1; | ||
570 | #endif /* CONFIG_X86 */ | ||
571 | |||
523 | return retval; | 572 | return retval; |
524 | } | 573 | } |
525 | 574 | ||