[patch 14/25] Input: i8042 - add Intel D845PESV to nopnp list

From: Greg KH
Date: Mon Aug 04 2008 - 17:48:48 EST


2.6.26-stable review patch. If anyone has any objections, please let us
know.

------------------

From: Jiri Kosina <jkosina@xxxxxxx>

commit c3a34f4390396a4bede3f8b7bcc5153f50b974bb upstream

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@xxxxxxx - make it compile if CONFIG_PNP is off - reported
by Randy Dunlap]

Signed-off-by: Jiri Kosina <jkosina@xxxxxxx>
Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
drivers/input/serio/i8042-x86ia64io.h | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)

--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -63,7 +63,7 @@ static inline void i8042_write_command(i
outb(val, I8042_COMMAND_REG);
}

-#if defined(__i386__) || defined(__x86_64__)
+#ifdef CONFIG_X86

#include <linux/dmi.h>

@@ -294,14 +294,19 @@ static struct dmi_system_id __initdata i
{ }
};

-
-
+#ifdef CONFIG_PNP
+static struct dmi_system_id __initdata i8042_dmi_nopnp_table[] = {
+ {
+ .ident = "Intel MBO Desktop D845PESV",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "D845PESV"),
+ DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"),
+ },
+ },
+ { }
+};
#endif

-#ifdef CONFIG_X86
-
-#include <linux/dmi.h>
-
/*
* Some Wistron based laptops need us to explicitly enable the 'Dritek
* keyboard extension' to make their extra keys start generating scancodes.
@@ -356,7 +361,6 @@ static struct dmi_system_id __initdata i

#endif /* CONFIG_X86 */

-
#ifdef CONFIG_PNP
#include <linux/pnp.h>

@@ -466,6 +470,11 @@ static int __init i8042_pnp_init(void)
int pnp_data_busted = 0;
int err;

+#ifdef CONFIG_X86
+ if (dmi_check_system(i8042_dmi_nopnp_table))
+ i8042_nopnp = 1;
+#endif
+
if (i8042_nopnp) {
printk(KERN_INFO "i8042: PNP detection disabled\n");
return 0;
@@ -591,15 +600,13 @@ static int __init i8042_platform_init(vo
i8042_reset = 1;
#endif

-#if defined(__i386__) || defined(__x86_64__)
+#ifdef CONFIG_X86
if (dmi_check_system(i8042_dmi_noloop_table))
i8042_noloop = 1;

if (dmi_check_system(i8042_dmi_nomux_table))
i8042_nomux = 1;
-#endif

-#ifdef CONFIG_X86
if (dmi_check_system(i8042_dmi_dritek_table))
i8042_dritek = 1;
#endif /* CONFIG_X86 */

--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/