[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090205162157.572f15bb.akpm@linux-foundation.org>
Date: Thu, 5 Feb 2009 16:21:57 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Arjan van de Ven <arjan@...radead.org>
Cc: linux-input@...r.kernel.org, arjan@...radead.org,
linux-kernel@...r.kernel.org
Subject: Re: [patch 2/2] input: add a DMI table for the i8042.reset option;
make MSI Wind U-100 work
On Wed, 4 Feb 2009 19:17:28 -0800
Arjan van de Ven <arjan@...radead.org> wrote:
> There are several DMI tables in the i8042 (keyboard) driver already,
> but not one for the i8042.reset option. This patch adds such an option
> (which also sets the nonfatal flag so that if the reset fails, the keyboard
> still works).
>
> Two users for this table are added as well, the MSI Wind U-100 and the
> LG X110. The MSI Wind also needs to be in the "don't trust the pnp data"
> for the touchpad to work on my machine.
x86_64 allnoconfig:
drivers/input/serio/i8042-x86ia64io.h:458: warning: 'i8042_dmi_reset_table' defined but not used
From: Andrew Morton <akpm@...ux-foundation.org>
drivers/input/serio/i8042-x86ia64io.h:458: warning: 'i8042_dmi_reset_table' defined but not used
Fix this by moving both i8042_dmi_nopnp_tablep[] and i8042_dmi_reset_table[]
into a section which requires CONFIG_PNP and CONFIG_X86. Give their
usage sites the same treatment.
Cc: Arjan van de Ven <arjan@...ux.intel.com>
Cc: Dmitry Torokhov <dtor@...l.ru>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
---
drivers/input/serio/i8042-x86ia64io.h | 79 +++++++++++-------------
1 file changed, 39 insertions(+), 40 deletions(-)
diff -puN drivers/input/serio/i8042-x86ia64io.h~input-add-a-dmi-table-for-the-i8042reset-option-make-msi-wind-u-100-work-fix drivers/input/serio/i8042-x86ia64io.h
--- a/drivers/input/serio/i8042-x86ia64io.h~input-add-a-dmi-table-for-the-i8042reset-option-make-msi-wind-u-100-work-fix
+++ a/drivers/input/serio/i8042-x86ia64io.h
@@ -369,26 +369,6 @@ 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"),
- },
- },
- {
- .ident = "MSI Wind U-100",
- .matches = {
- DMI_MATCH(DMI_BOARD_NAME, "U-100"),
- DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
- },
- },
- { }
-};
-#endif
-
/*
* Some Wistron based laptops need us to explicitly enable the 'Dritek
* keyboard extension' to make their extra keys start generating scancodes.
@@ -455,25 +435,6 @@ static struct dmi_system_id __initdata i
{ }
};
-static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
- {
- .ident = "MSI Wind U-100",
- .matches = {
- DMI_MATCH(DMI_BOARD_NAME, "U-100"),
- DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
- },
- },
- {
- .ident = "LG Electronics X110",
- .matches = {
- DMI_MATCH(DMI_BOARD_NAME, "X110"),
- DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
- },
- },
- { }
-};
-
-
#endif /* CONFIG_X86 */
#ifdef CONFIG_PNP
@@ -492,6 +453,44 @@ static int i8042_pnp_aux_irq;
static char i8042_pnp_kbd_name[32];
static char i8042_pnp_aux_name[32];
+#ifdef CONFIG_X86
+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"),
+ },
+ },
+ {
+ .ident = "MSI Wind U-100",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+ DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+ },
+ },
+ { }
+};
+
+static struct dmi_system_id __initdata i8042_dmi_reset_table[] = {
+ {
+ .ident = "MSI Wind U-100",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "U-100"),
+ DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
+ },
+ },
+ {
+ .ident = "LG Electronics X110",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "X110"),
+ DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."),
+ },
+ },
+ { }
+};
+#endif
+
static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id *did)
{
if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1)
@@ -588,12 +587,12 @@ static int __init i8042_pnp_init(void)
#ifdef CONFIG_X86
if (dmi_check_system(i8042_dmi_nopnp_table))
i8042_nopnp = 1;
-#endif
if (dmi_check_system(i8042_dmi_reset_table)) {
i8042_reset = 1;
i8042_nonfatal = 1;
}
+#endif
if (i8042_nopnp) {
printk(KERN_INFO "i8042: PNP detection disabled\n");
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists