[PATCH] Input: i8042 - move Dritek quirk so it also gets applied on resume

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Dmitry Torokhov <dtor@...>
Cc: Linux Kernel Mailing List <linux-kernel@...>, Linux Input <linux-input@...>
Date: Friday, May 16, 2008 - 4:08 pm

This patch moves the quirk from from i8042_probe() to i8042_enable_kbd_port()
which is also called during resume.

I think it is safe to ignore failure to enable dritek. I would also prefer not 
to fail complete keyboard initialisation if the extension fails.

---
The Dritek quirk is also required on resume from S2RAM, doing it only at probe
time is not sufficient.


Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
CC: Dmitry Torokhov <dtor@mail.ru>

diff -NurpP linux-2.6.25.4-orig/drivers/input/serio/i8042.c 
linux-2.6.25.4/drivers/input/serio/i8042.c
--- linux-2.6.25.4-orig/drivers/input/serio/i8042.c	2008-04-17 
04:49:44.000000000 +0200
+++ linux-2.6.25.4/drivers/input/serio/i8042.c	2008-05-16 21:37:12.000000000 
+0200
@@ -404,6 +404,15 @@ static int i8042_enable_kbd_port(void)
 		printk(KERN_ERR "i8042.c: Failed to enable KBD port.\n");
 		return -EIO;
 	}
+#ifdef CONFIG_X86
+	if (i8042_dritek) {
+		char param = 0x90;
+		int error = i8042_command(&param, 0x1059);
+		if (error)
+			printk(KERN_WARNING "Failed to enable DRITEK "
+			       "extension: %d\n", error);
+	}
+#endif
 
 	return 0;
 }
@@ -1171,14 +1179,6 @@ static int __devinit i8042_probe(struct 
 		if (error)
 			goto out_fail;
 	}
-#ifdef CONFIG_X86
-	if (i8042_dritek) {
-		char param = 0x90;
-		error = i8042_command(&param, 0x1059);
-		if (error)
-			goto out_fail;
-	}
-#endif
 /*
  * Ok, everything is ready, let's register all serio ports
  */

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] Input: i8042 - move Dritek quirk so it also gets app..., Bruno , (Fri May 16, 4:08 pm)