From willy@alpha.home.local Mon Nov 28 06:49:58 2005 Date: Mon, 28 Nov 2005 06:49:58 +0100 From: Willy Tarreau To: Marcelo Tosatti Cc: Nick Warne Subject: [PATCH 2.4.31] Reintroduction i386 CONFIG_DUMMY_KEYB option Message-ID: <20051128054958.GB6399@alpha.home.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.10i Status: RO Content-Length: 3662 Lines: 94 Hi Marcelo, would you please merge this one in 2.4.33-pre ? It re-activates an option making it possible to replace the PS2 keyboard driver by a dummy one still compatible with CONFIG_VT. The code has been in the kernel for a long time, only the option was hidden ! It also has an equivalent in 2.6. Thanks in advance, Willy Patch from Nick Warne Signed-off-by: Willy Tarreau diff -Naur linux-2.4.31.orig/Documentation/Configure.help linux-2.4.31n/Documentation/Configure.help --- linux-2.4.31.orig/Documentation/Configure.help Mon Apr 4 02:42:19 2005 +++ linux-2.4.31n/Documentation/Configure.help Thu Oct 13 09:38:07 2005 @@ -15242,6 +15242,24 @@ The module will be called joydev.o. If you want to compile it as a module, say M here and read . +Dummy keyboard driver +CONFIG_DUMMY_KEYB + What is this for? + + Not all systems have keyboards. Some don't even have a keyboard + port. However, some of those systems have video support and can + use the virtual terminal support for display. However, the virtual + terminal code expects a keyboard of some kind. This driver keeps + the virtual terminal code happy by providing it a "keyboard", albeit + a very quiet one. + + If you want to use the virtual terminal support but your system + does not support a keyboard, define CONFIG_DUMMY_KEYB along with + CONFIG_VT. + + This can also be selected lonesome without any VT support (i.e. no + monitor or keyboard attached) - just define CONFIG_DUMMY_KEYB. + Event interface support CONFIG_INPUT_EVDEV Say Y here if you want your USB or ADB HID device events be diff -Naur linux-2.4.31.orig/arch/i386/kernel/dmi_scan.c linux-2.4.31n/arch/i386/kernel/dmi_scan.c --- linux-2.4.31.orig/arch/i386/kernel/dmi_scan.c Wed Nov 17 11:54:21 2004 +++ linux-2.4.31n/arch/i386/kernel/dmi_scan.c Fri Oct 14 08:39:04 2005 @@ -411,7 +411,7 @@ static __init int broken_ps2_resume(struct dmi_blacklist *d) { -#ifdef CONFIG_VT +#if defined(CONFIG_VT) && !defined(CONFIG_DUMMY_KEYB) if (pm_kbd_request_override == NULL) { pm_kbd_request_override = pckbd_pm_resume; diff -Naur linux-2.4.31.orig/drivers/char/dummy_keyb.c linux-2.4.31n/drivers/char/dummy_keyb.c --- linux-2.4.31.orig/drivers/char/dummy_keyb.c Mon Aug 25 12:44:41 2003 +++ linux-2.4.31n/drivers/char/dummy_keyb.c Wed Oct 12 15:38:48 2005 @@ -29,6 +29,7 @@ #include #include #include +#include void kbd_leds(unsigned char leds) { diff -Naur linux-2.4.31.orig/drivers/input/Config.in linux-2.4.31n/drivers/input/Config.in --- linux-2.4.31.orig/drivers/input/Config.in Wed Feb 18 13:36:31 2004 +++ linux-2.4.31n/drivers/input/Config.in Wed Oct 12 15:16:09 2005 @@ -7,6 +7,11 @@ tristate 'Input core support' CONFIG_INPUT dep_tristate ' Keyboard support' CONFIG_INPUT_KEYBDEV $CONFIG_INPUT + +if [ "$CONFIG_INPUT_KEYBDEV" == "n" ]; then + bool ' Use dummy keyboard driver' CONFIG_DUMMY_KEYB $CONFIG_INPUT +fi + dep_tristate ' Mouse support' CONFIG_INPUT_MOUSEDEV $CONFIG_INPUT if [ "$CONFIG_INPUT_MOUSEDEV" != "n" ]; then int ' Horizontal screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024 diff -Naur linux-2.4.31.orig/kernel/panic.c linux-2.4.31n/kernel/panic.c --- linux-2.4.31.orig/kernel/panic.c Wed Nov 17 11:54:22 2004 +++ linux-2.4.31n/kernel/panic.c Wed Oct 12 16:07:56 2005 @@ -104,7 +104,7 @@ #endif sti(); for(;;) { -#if defined(CONFIG_X86) && defined(CONFIG_VT) +#if defined(CONFIG_X86) && defined(CONFIG_VT) && !defined(CONFIG_DUMMY_KEYB) extern void panic_blink(void); panic_blink(); #endif