diff options
Diffstat (limited to 'drivers/input/serio/i8042-x86ia64io.h')
-rw-r--r-- | drivers/input/serio/i8042-x86ia64io.h | 67 |
1 files changed, 56 insertions, 11 deletions
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h index 78eb7841174c..fe732a574ec2 100644 --- a/drivers/input/serio/i8042-x86ia64io.h +++ b/drivers/input/serio/i8042-x86ia64io.h | |||
@@ -63,13 +63,22 @@ static inline void i8042_write_command(int val) | |||
63 | outb(val, I8042_COMMAND_REG); | 63 | outb(val, I8042_COMMAND_REG); |
64 | } | 64 | } |
65 | 65 | ||
66 | #if defined(__i386__) || defined(__x86_64__) | 66 | #ifdef CONFIG_X86 |
67 | 67 | ||
68 | #include <linux/dmi.h> | 68 | #include <linux/dmi.h> |
69 | 69 | ||
70 | static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = { | 70 | static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = { |
71 | { | 71 | { |
72 | /* AUX LOOP command does not raise AUX IRQ */ | 72 | /* AUX LOOP command does not raise AUX IRQ */ |
73 | .ident = "Arima-Rioworks HDAMB", | ||
74 | .matches = { | ||
75 | DMI_MATCH(DMI_BOARD_VENDOR, "RIOWORKS"), | ||
76 | DMI_MATCH(DMI_BOARD_NAME, "HDAMB"), | ||
77 | DMI_MATCH(DMI_BOARD_VERSION, "Rev E"), | ||
78 | }, | ||
79 | }, | ||
80 | { | ||
81 | /* AUX LOOP command does not raise AUX IRQ */ | ||
73 | .ident = "ASUS P65UP5", | 82 | .ident = "ASUS P65UP5", |
74 | .matches = { | 83 | .matches = { |
75 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | 84 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), |
@@ -118,6 +127,14 @@ static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = { | |||
118 | DMI_MATCH(DMI_PRODUCT_VERSION, "VS2005R2"), | 127 | DMI_MATCH(DMI_PRODUCT_VERSION, "VS2005R2"), |
119 | }, | 128 | }, |
120 | }, | 129 | }, |
130 | { | ||
131 | .ident = "Medion MAM 2070", | ||
132 | .matches = { | ||
133 | DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), | ||
134 | DMI_MATCH(DMI_PRODUCT_NAME, "MAM 2070"), | ||
135 | DMI_MATCH(DMI_PRODUCT_VERSION, "5a"), | ||
136 | }, | ||
137 | }, | ||
121 | { } | 138 | { } |
122 | }; | 139 | }; |
123 | 140 | ||
@@ -291,17 +308,36 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = { | |||
291 | DMI_MATCH(DMI_PRODUCT_VERSION, "3000 N100"), | 308 | DMI_MATCH(DMI_PRODUCT_VERSION, "3000 N100"), |
292 | }, | 309 | }, |
293 | }, | 310 | }, |
311 | { | ||
312 | .ident = "Acer Aspire 1360", | ||
313 | .matches = { | ||
314 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
315 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1360"), | ||
316 | }, | ||
317 | }, | ||
318 | { | ||
319 | .ident = "Gericom Bellagio", | ||
320 | .matches = { | ||
321 | DMI_MATCH(DMI_SYS_VENDOR, "Gericom"), | ||
322 | DMI_MATCH(DMI_PRODUCT_NAME, "N34AS6"), | ||
323 | }, | ||
324 | }, | ||
294 | { } | 325 | { } |
295 | }; | 326 | }; |
296 | 327 | ||
297 | 328 | #ifdef CONFIG_PNP | |
298 | 329 | static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = { | |
330 | { | ||
331 | .ident = "Intel MBO Desktop D845PESV", | ||
332 | .matches = { | ||
333 | DMI_MATCH(DMI_BOARD_NAME, "D845PESV"), | ||
334 | DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), | ||
335 | }, | ||
336 | }, | ||
337 | { } | ||
338 | }; | ||
299 | #endif | 339 | #endif |
300 | 340 | ||
301 | #ifdef CONFIG_X86 | ||
302 | |||
303 | #include <linux/dmi.h> | ||
304 | |||
305 | /* | 341 | /* |
306 | * Some Wistron based laptops need us to explicitly enable the 'Dritek | 342 | * Some Wistron based laptops need us to explicitly enable the 'Dritek |
307 | * keyboard extension' to make their extra keys start generating scancodes. | 343 | * keyboard extension' to make their extra keys start generating scancodes. |
@@ -331,6 +367,13 @@ static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = { | |||
331 | }, | 367 | }, |
332 | }, | 368 | }, |
333 | { | 369 | { |
370 | .ident = "Acer Aspire 5720", | ||
371 | .matches = { | ||
372 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
373 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5720"), | ||
374 | }, | ||
375 | }, | ||
376 | { | ||
334 | .ident = "Acer Aspire 9110", | 377 | .ident = "Acer Aspire 9110", |
335 | .matches = { | 378 | .matches = { |
336 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | 379 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), |
@@ -356,7 +399,6 @@ static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = { | |||
356 | 399 | ||
357 | #endif /* CONFIG_X86 */ | 400 | #endif /* CONFIG_X86 */ |
358 | 401 | ||
359 | |||
360 | #ifdef CONFIG_PNP | 402 | #ifdef CONFIG_PNP |
361 | #include <linux/pnp.h> | 403 | #include <linux/pnp.h> |
362 | 404 | ||
@@ -466,6 +508,11 @@ static int __init i8042_pnp_init(void) | |||
466 | int pnp_data_busted = 0; | 508 | int pnp_data_busted = 0; |
467 | int err; | 509 | int err; |
468 | 510 | ||
511 | #ifdef CONFIG_X86 | ||
512 | if (dmi_check_system(i8042_dmi_nopnp_table)) | ||
513 | i8042_nopnp = 1; | ||
514 | #endif | ||
515 | |||
469 | if (i8042_nopnp) { | 516 | if (i8042_nopnp) { |
470 | printk(KERN_INFO "i8042: PNP detection disabled\n"); | 517 | printk(KERN_INFO "i8042: PNP detection disabled\n"); |
471 | return 0; | 518 | return 0; |
@@ -591,15 +638,13 @@ static int __init i8042_platform_init(void) | |||
591 | i8042_reset = 1; | 638 | i8042_reset = 1; |
592 | #endif | 639 | #endif |
593 | 640 | ||
594 | #if defined(__i386__) || defined(__x86_64__) | 641 | #ifdef CONFIG_X86 |
595 | if (dmi_check_system(i8042_dmi_noloop_table)) | 642 | if (dmi_check_system(i8042_dmi_noloop_table)) |
596 | i8042_noloop = 1; | 643 | i8042_noloop = 1; |
597 | 644 | ||
598 | if (dmi_check_system(i8042_dmi_nomux_table)) | 645 | if (dmi_check_system(i8042_dmi_nomux_table)) |
599 | i8042_nomux = 1; | 646 | i8042_nomux = 1; |
600 | #endif | ||
601 | 647 | ||
602 | #ifdef CONFIG_X86 | ||
603 | if (dmi_check_system(i8042_dmi_dritek_table)) | 648 | if (dmi_check_system(i8042_dmi_dritek_table)) |
604 | i8042_dritek = 1; | 649 | i8042_dritek = 1; |
605 | #endif /* CONFIG_X86 */ | 650 | #endif /* CONFIG_X86 */ |