Commit c3a34f43 authored by Jiri Kosina's avatar Jiri Kosina Committed by Dmitry Torokhov

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: default avatarJiri Kosina <jkosina@suse.cz>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent d1659fcc
...@@ -63,7 +63,7 @@ static inline void i8042_write_command(int val) ...@@ -63,7 +63,7 @@ static inline void i8042_write_command(int val)
outb(val, I8042_COMMAND_REG); outb(val, I8042_COMMAND_REG);
} }
#if defined(__i386__) || defined(__x86_64__) #ifdef CONFIG_X86
#include <linux/dmi.h> #include <linux/dmi.h>
...@@ -287,14 +287,19 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = { ...@@ -287,14 +287,19 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
{ } { }
}; };
#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 #endif
#ifdef CONFIG_X86
#include <linux/dmi.h>
/* /*
* Some Wistron based laptops need us to explicitly enable the 'Dritek * Some Wistron based laptops need us to explicitly enable the 'Dritek
* keyboard extension' to make their extra keys start generating scancodes. * 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,7 +347,6 @@ static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = {
#endif /* CONFIG_X86 */ #endif /* CONFIG_X86 */
#ifdef CONFIG_PNP #ifdef CONFIG_PNP
#include <linux/pnp.h> #include <linux/pnp.h>
...@@ -452,6 +456,11 @@ static int __init i8042_pnp_init(void) ...@@ -452,6 +456,11 @@ static int __init i8042_pnp_init(void)
int pnp_data_busted = 0; int pnp_data_busted = 0;
int err; int err;
#ifdef CONFIG_X86
if (dmi_check_system(i8042_dmi_nopnp_table))
i8042_nopnp = 1;
#endif
if (i8042_nopnp) { if (i8042_nopnp) {
printk(KERN_INFO "i8042: PNP detection disabled\n"); printk(KERN_INFO "i8042: PNP detection disabled\n");
return 0; return 0;
...@@ -577,15 +586,13 @@ static int __init i8042_platform_init(void) ...@@ -577,15 +586,13 @@ static int __init i8042_platform_init(void)
i8042_reset = 1; i8042_reset = 1;
#endif #endif
#if defined(__i386__) || defined(__x86_64__) #ifdef CONFIG_X86
if (dmi_check_system(i8042_dmi_noloop_table)) if (dmi_check_system(i8042_dmi_noloop_table))
i8042_noloop = 1; i8042_noloop = 1;
if (dmi_check_system(i8042_dmi_nomux_table)) if (dmi_check_system(i8042_dmi_nomux_table))
i8042_nomux = 1; i8042_nomux = 1;
#endif
#ifdef CONFIG_X86
if (dmi_check_system(i8042_dmi_dritek_table)) if (dmi_check_system(i8042_dmi_dritek_table))
i8042_dritek = 1; i8042_dritek = 1;
#endif /* CONFIG_X86 */ #endif /* CONFIG_X86 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment