summaryrefslogtreecommitdiff
path: root/meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-input-introduce-a-tougher-i8042.reset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-input-introduce-a-tougher-i8042.reset.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-input-introduce-a-tougher-i8042.reset.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-input-introduce-a-tougher-i8042.reset.patch b/meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-input-introduce-a-tougher-i8042.reset.patch
deleted file mode 100644
index 1ae825720..000000000
--- a/meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-input-introduce-a-tougher-i8042.reset.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 2c5ccde448ae5f4062802bcd6002f856acbd268f Mon Sep 17 00:00:00 2001
-From: Arjan van de Ven <arjan@linux.intel.com>
-Date: Tue, 3 Feb 2009 16:26:16 -0800
-Subject: [PATCH] input: introduce a tougher i8042.reset
-
-Some bad touchpads don't reset right the first time (MSI Wind U-100 for
-example). This patch will retry the reset up to 5 times.
-
-In addition, this patch also adds a module parameter to not treat
-reset failures as fatal to the usage of the device. This prevents
-a touchpad failure from also disabling the keyboard....
-
-Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
----
- Documentation/kernel-parameters.txt | 2 ++
- drivers/input/serio/i8042.c | 33 ++++++++++++++++++++++++---------
- 2 files changed, 26 insertions(+), 9 deletions(-)
-
-diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index ac613a6..a43e3bd 100644
---- a/Documentation/kernel-parameters.txt
-+++ b/Documentation/kernel-parameters.txt
-@@ -855,6 +855,8 @@ and is between 256 and 4096 characters. It is defined in the file
- [HW] Frequency with which keyboard LEDs should blink
- when kernel panics (default is 0.5 sec)
- i8042.reset [HW] Reset the controller during init and cleanup
-+ i8042.nonfatal [HW] Don't treat i8042.reset failures as fatal for the
-+ device initialization.
- i8042.unlock [HW] Unlock (ignore) the keylock
-
- i810= [HW,DRM]
-diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
-index 170f71e..2473a9a 100644
---- a/drivers/input/serio/i8042.c
-+++ b/drivers/input/serio/i8042.c
-@@ -47,6 +47,10 @@ static unsigned int i8042_reset;
- module_param_named(reset, i8042_reset, bool, 0);
- MODULE_PARM_DESC(reset, "Reset controller during init and cleanup.");
-
-+static unsigned int i8042_nonfatal;
-+module_param_named(nonfatal, i8042_nonfatal, bool, 0);
-+MODULE_PARM_DESC(reset, "Treat controller test failures as non-fatal.");
-+
- static unsigned int i8042_direct;
- module_param_named(direct, i8042_direct, bool, 0);
- MODULE_PARM_DESC(direct, "Put keyboard port into non-translated mode.");
-@@ -712,22 +716,33 @@ static int i8042_controller_check(void)
- static int i8042_controller_selftest(void)
- {
- unsigned char param;
-+ int i = 0;
-
- if (!i8042_reset)
- return 0;
-
-- if (i8042_command(&param, I8042_CMD_CTL_TEST)) {
-- printk(KERN_ERR "i8042.c: i8042 controller self test timeout.\n");
-- return -ENODEV;
-- }
-+ /*
-+ * We try this 5 times; on some really fragile systems this does not
-+ * take the first time...
-+ */
-+ do {
-+
-+ if (i8042_command(&param, I8042_CMD_CTL_TEST)) {
-+ printk(KERN_ERR "i8042.c: i8042 controller self test timeout.\n");
-+ return -ENODEV;
-+ }
-+
-+ if (param == I8042_RET_CTL_TEST)
-+ return 0;
-
-- if (param != I8042_RET_CTL_TEST) {
- printk(KERN_ERR "i8042.c: i8042 controller selftest failed. (%#x != %#x)\n",
-- param, I8042_RET_CTL_TEST);
-- return -EIO;
-- }
-+ param, I8042_RET_CTL_TEST);
-+ msleep(50);
-+ } while (i++ < 5);
-
-- return 0;
-+ if (i8042_nonfatal)
-+ return 0;
-+ return -EIO;
- }
-
- /*
---
-1.6.0.6
-