• R/O
  • HTTP
  • SSH
  • HTTPS

linux-2.4.36: Commit

2.4.36-stable kernel tree


Commit MetaInfo

Revision0c3a57b64ca84e262f1530d8a6a2d5596de34103 (tree)
Zeit2008-09-22 13:31:45
AutorWilly Tarreau <w@1wt....>
CommiterWilly Tarreau

Log Message

pc_keyb: fix breakage on ia64/mips/mips64

Commit f8db8c9c81afb4b04c146cae0e2a1fd311de1f22 fixed the keyboard
controller jammed issue on keyboard-less PCs, but introduced the
problem for other architectures (ia64/mips/mips64) which already
define their own keyboard probing method.

This patch gives precedence to these archs' probing method and only
defines the setup option if no arch-specific method was defined.

Signed-off-by: Willy Tarreau <w@1wt.eu>

Ändern Zusammenfassung

Diff

--- a/drivers/char/pc_keyb.c
+++ b/drivers/char/pc_keyb.c
@@ -61,6 +61,10 @@ unsigned char pckbd_sysrq_xlate[128] =
6161 "\r\000/"; /* 0x60 - 0x6f */
6262 #endif
6363
64+/* Warning: do not redefine kbd_controller_present on ia64, mips and mips64 */
65+#ifndef kbd_controller_present
66+#define kbd_controller_present() keyboard_controller_present
67+
6468 int keyboard_controller_present __initdata = 1;
6569 static int __init removable_keyb(char *str)
6670 {
@@ -68,6 +72,7 @@ static int __init removable_keyb(char *str)
6872 return 0;
6973 }
7074 __setup("nokeyb", removable_keyb);
75+#endif
7176
7277 static void kbd_write_command_w(int data);
7378 static void kbd_write_output_w(int data);
@@ -77,8 +82,6 @@ static void __aux_write_ack(int val);
7782 static int aux_reconnect = 0;
7883 #endif
7984
80-#define kbd_controller_present() keyboard_controller_present
81-
8285 static spinlock_t kbd_controller_lock = SPIN_LOCK_UNLOCKED;
8386 static unsigned char handle_kbd_event(void);
8487
@@ -905,7 +908,7 @@ static char * __init initialize_kbd(void)
905908
906909 void __init pckbd_init_hw(void)
907910 {
908- if (!keyboard_controller_present) {
911+ if (!kbd_controller_present()) {
909912 kbd_exists = 0;
910913 return;
911914 }
Show on old repository browser