6a91557e4c
Do a couple things here: - Split the mega-patches into individual patches. Should help with rebasing. - Make all patches 'git am' acceptable. There should be no functional or actual code differences from before
63 lines
1.6 KiB
Diff
63 lines
1.6 KiB
Diff
From a2e5f724a7e33329651ead92d4122907bdfdb208 Mon Sep 17 00:00:00 2001
|
|
From: Bastien Nocera <hadess@hadess.net>
|
|
Date: Thu, 20 May 2010 10:30:31 -0400
|
|
Subject: [PATCH] disable i8042 check on apple mac
|
|
|
|
As those computers never had any i8042 controllers, and the
|
|
current lookup code could potentially lock up/hang/wait for
|
|
timeout for long periods of time.
|
|
|
|
Fixes intermittent hangs on boot on a MacbookAir1,1
|
|
|
|
Bugzilla: N/A
|
|
Upstream-status: http://lkml.indiana.edu/hypermail/linux/kernel/1005.0/00938.html (and pinged on Dec 17, 2013)
|
|
|
|
Signed-off-by: Bastien Nocera <hadess@hadess.net>
|
|
---
|
|
drivers/input/serio/i8042.c | 22 ++++++++++++++++++++++
|
|
1 file changed, 22 insertions(+)
|
|
|
|
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
|
|
index 612f855c340f..f1aeb0240d6e 100644
|
|
--- a/drivers/input/serio/i8042.c
|
|
+++ b/drivers/input/serio/i8042.c
|
|
@@ -1469,6 +1469,22 @@ static struct platform_driver i8042_driver = {
|
|
.shutdown = i8042_shutdown,
|
|
};
|
|
|
|
+#ifdef CONFIG_DMI
|
|
+static struct dmi_system_id __initdata dmi_system_table[] = {
|
|
+ {
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_BIOS_VENDOR, "Apple Computer, Inc.")
|
|
+ },
|
|
+ },
|
|
+ {
|
|
+ .matches = {
|
|
+ DMI_MATCH(DMI_BIOS_VENDOR, "Apple Inc.")
|
|
+ },
|
|
+ },
|
|
+ {}
|
|
+};
|
|
+#endif /*CONFIG_DMI*/
|
|
+
|
|
static int __init i8042_init(void)
|
|
{
|
|
struct platform_device *pdev;
|
|
@@ -1476,6 +1492,12 @@ static int __init i8042_init(void)
|
|
|
|
dbg_init();
|
|
|
|
+#ifdef CONFIG_DMI
|
|
+ /* Intel Apple Macs never have an i8042 controller */
|
|
+ if (dmi_check_system(dmi_system_table) > 0)
|
|
+ return -ENODEV;
|
|
+#endif /*CONFIG_DMI*/
|
|
+
|
|
err = i8042_platform_init();
|
|
if (err)
|
|
return err;
|
|
--
|
|
1.9.3
|
|
|