aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2008-05-28 01:10:52 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2008-05-29 16:19:58 -0400
commitc3a34f4390396a4bede3f8b7bcc5153f50b974bb (patch)
tree86c59fe83b8b3d1abfa84f3ec88ae6c7190907f5 /drivers/input
parentd1659fcc59b21ec442564fedb67a5ad371f82380 (diff)
Input: i8042 - add Intel D845PESV to nopnp list
This patch introduces i8042_dmi_nopnp_table to make it possible to perform DMI matches for systems that need 'i8042.nopnp' to work correctly, and introduces such an entry for Intel D845PESV -- this system doesn't detect PS2 mouse reliably without this option, as reported by Robert Lewis. [dtor@mail.ru - make it compile if CONFIG_PNP is off - reported by Randy Dunlap] Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/serio/i8042-x86ia64io.h29
1 files changed, 18 insertions, 11 deletions
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index 5ece9f56babc..2289e3a8f25c 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -63,7 +63,7 @@ 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
@@ -287,14 +287,19 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
287 { } 287 { }
288}; 288};
289 289
290 290#ifdef CONFIG_PNP
291 291static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
292 {
293 .ident = "Intel MBO Desktop D845PESV",
294 .matches = {
295 DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
296 DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
297 },
298 },
299 { }
300};
292#endif 301#endif
293 302
294#ifdef CONFIG_X86
295
296#include <linux/dmi.h>
297
298/* 303/*
299 * Some Wistron based laptops need us to explicitly enable the 'Dritek 304 * Some Wistron based laptops need us to explicitly enable the 'Dritek
300 * keyboard extension' to make their extra keys start generating scancodes. 305 * keyboard extension' to make their extra keys start generating scancodes.
@@ -342,7 +347,6 @@ static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = {
342 347
343#endif /* CONFIG_X86 */ 348#endif /* CONFIG_X86 */
344 349
345
346#ifdef CONFIG_PNP 350#ifdef CONFIG_PNP
347#include <linux/pnp.h> 351#include <linux/pnp.h>
348 352
@@ -452,6 +456,11 @@ static int __init i8042_pnp_init(void)
452 int pnp_data_busted = 0; 456 int pnp_data_busted = 0;
453 int err; 457 int err;
454 458
459#ifdef CONFIG_X86
460 if (dmi_check_system(i8042_dmi_nopnp_table))
461 i8042_nopnp = 1;
462#endif
463
455 if (i8042_nopnp) { 464 if (i8042_nopnp) {
456 printk(KERN_INFO "i8042: PNP detection disabled\n"); 465 printk(KERN_INFO "i8042: PNP detection disabled\n");
457 return 0; 466 return 0;
@@ -577,15 +586,13 @@ static int __init i8042_platform_init(void)
577 i8042_reset = 1; 586 i8042_reset = 1;
578#endif 587#endif
579 588
580#if defined(__i386__) || defined(__x86_64__) 589#ifdef CONFIG_X86
581 if (dmi_check_system(i8042_dmi_noloop_table)) 590 if (dmi_check_system(i8042_dmi_noloop_table))
582 i8042_noloop = 1; 591 i8042_noloop = 1;
583 592
584 if (dmi_check_system(i8042_dmi_nomux_table)) 593 if (dmi_check_system(i8042_dmi_nomux_table))
585 i8042_nomux = 1; 594 i8042_nomux = 1;
586#endif
587 595
588#ifdef CONFIG_X86
589 if (dmi_check_system(i8042_dmi_dritek_table)) 596 if (dmi_check_system(i8042_dmi_dritek_table))
590 i8042_dritek = 1; 597 i8042_dritek = 1;
591#endif /* CONFIG_X86 */ 598#endif /* CONFIG_X86 */