fix the -test3 input config damages
Subsystems (4)
PATCH 1/1 fix the -test3 input config damages
There's really no point in forcing in support for all kinds of optional input devices unless CONFIG_EMBEDDED. Also some of the selections really broke configs that worked fine before as indicated by the reports on lkml. Instead select CONFIG_INPUT if CONFIG_VT is selected so people upgrading from 2.4 using make oldconfig have a chance to see it if they didn't need CONFIG_INPUT before.
Btw, could we please get a consensus on what CONFIG_EMBEDDED is supposed to mean? It was introduced to allow compiling code out for special cases that normal userspace should be able to rely on like epoll and futexes but people seem to use it as an Aunt Tillie guard these days..
drivers/char/Kconfig +3 -3
@@ -5,8 +5,8 @@ menu "Character devices" config VT - bool "Virtual terminal" if EMBEDDED - requires INPUT=y + bool "Virtual terminal" + select INPUT default y ---help--- If you say Y here, you will get support for terminal devices with
@@ -36,7 +36,7 @@ shiny Linux system :-) config VT_CONSOLE - bool "Support for console on virtual terminal" if EMBEDDED + bool "Support for console on virtual terminal" depends on VT default y ---help---
drivers/input/Kconfig +3 -3
@@ -5,7 +5,7 @@ menu "Input device support" config INPUT - tristate "Input devices (needed for keyboard, mouse, ...)" if EMBEDDED + tristate "Input devices (needed for keyboard, mouse, ...)" default y ---help--- Say Y here if you have any input device (mouse, keyboard, tablet,
@@ -27,8 +27,8 @@ comment "Userland interfaces" config INPUT_MOUSEDEV - tristate "Mouse interface" if EMBEDDED + tristate "Mouse interface" default y depends on INPUT ---help--- Say Y here if you want your mouse to be accessible as char devices
@@ -45,8 +45,8 @@ a module, say M here and read <file:Documentation/modules.txt>. config INPUT_MOUSEDEV_PSAUX - bool "Provide legacy /dev/psaux device" if EMBEDDED + bool "Provide legacy /dev/psaux device" default y depends on INPUT_MOUSEDEV config INPUT_MOUSEDEV_SCREEN_X
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====
drivers/input/keyboard/Kconfig +2 -2
@@ -2,7 +2,7 @@ # Input core configuration # config INPUT_KEYBOARD - bool "Keyboards" if EMBEDDED || !X86 + bool "Keyboards" default y depends on INPUT help
@@ -12,8 +12,8 @@ If unsure, say Y. config KEYBOARD_ATKBD - tristate "AT keyboard support" if EMBEDDED || !X86 + tristate "AT keyboard support" default y depends on INPUT && INPUT_KEYBOARD && SERIO help Say Y here if you want to use a standard AT or PS/2 keyboard. Usually
===== drivers/input/serio/Kconfig 1.9 vs edited =====
drivers/input/serio/Kconfig +1 -1
@@ -19,8 +19,8 @@ as a module, say M here and read <file:Documentation/modules.txt>. config SERIO_I8042 - tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 + tristate "i8042 PC Keyboard controller" default y depends on SERIO ---help--- i8042 is the chip over which the standard AT keyboard and PS/2
Quoted 3 lines · Christoph Hellwig
There's really no point in forcing in support for all kinds of optional input devices unless
CONFIG_EMBEDDED.
I disagree. We've had too many totally unnecessary bug-reports from people, and it's just not worth it not having the keyboard and mouse controller driver.
However, we can certainly improve on it, and the "select INPUT if VT" part makes fine sense.
Linus
Quoted 9 lines · Linus Torvalds
Quoted 3 lines · Christoph Hellwig
There's really no point in forcing in support for all kinds of optional input devices unless
CONFIG_EMBEDDED.I disagree. We've had too many totally unnecessary bug-reports from people, and it's just not worth it not having the keyboard and mouse controller driver.
That's because we didn't have the "select INPUT if VT" yet..
Anyone, can we at least get a different option for this thingy then? CONFIG_EMBEDEDDED is even more wrong in this context than in the old one.
What about two new options to replace the old CONFIG_EMBEDDED?
- CONFIG_AUNT_TILLIE - for this kind of shoot yourself in the foot protection
and
- CONFIG_NONSTD_ABI - for the original sense of a kernel so limited that parts of the usual userland ABI may disappear
Quoted 2 lines · Christoph Hellwig
What about two new options to replace the old
CONFIG_EMBEDDED?
If it's just a naming issue for you, then yes, we could change the current EXPERIMENTAL/BROKEN/EMBEDDED questions around a bit.
So we could split the EMBEDDED question into "STANDARD" (which implies VT, INPUT layer, PS/2 ATKBD) and "FEATURECOMPLETE" (FUTEX, EPOLL, NET).
Is it worth it? I see EMBEDDED as more of a "STANDARD" thing - for people who don't care or know, that's a slight safety-net saying "this selects the things you take for grated".
Linus
Quoted 8 lines · Linus Torvalds
Quoted 2 lines · Christoph Hellwig
What about two new options to replace the old
CONFIG_EMBEDDED?If it's just a naming issue for you, then yes, we could change the current EXPERIMENTAL/BROKEN/EMBEDDED questions around a bit.
Quoted 6 lines
So we could split the EMBEDDED question into "STANDARD" (which implies VT, INPUT layer, PS/2 ATKBD) and "FEATURECOMPLETE" (FUTEX, EPOLL, NET).
Is it worth it? I see EMBEDDED as more of a "STANDARD" thing - for people who don't care or know, that's a slight safety-net saying "this selects the things you take for grated".
So lets give it a shot then. This might clash with Christoph's patch, if you've already applied it, but it otherwise applies to the current bk.
===== arch/i386/defconfig 1.101 vs edited =====
arch/i386/defconfig +2 -1
@@ -20,7 +20,8 @@ # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y CONFIG_LOG_BUF_SHIFT=15 -# CONFIG_EMBEDDED is not set +CONFIG_STANDARD=y +# CONFIG_NONSTD_ABI is not set CONFIG_KALLSYMS=y CONFIG_FUTEX=y CONFIG_EPOLL=y
===== drivers/char/Kconfig 1.16 vs edited =====
drivers/char/Kconfig +3 -2
@@ -5,8 +5,9 @@ menu "Character devices" config VT - bool "Virtual terminal" if EMBEDDED + bool "Virtual terminal" if !STANDARD select INPUT + select VT_CONSOLE if STANDARD default y ---help--- If you say Y here, you will get support for terminal devices with
@@ -36,7 +37,7 @@ shiny Linux system :-) config VT_CONSOLE - bool "Support for console on virtual terminal" if EMBEDDED + bool "Support for console on virtual terminal" depends on VT default y ---help---
===== drivers/input/Kconfig 1.5 vs edited =====
drivers/input/Kconfig +7 -3
@@ -5,7 +5,10 @@ menu "Input device support" config INPUT - tristate "Input devices (needed for keyboard, mouse, ...)" if EMBEDDED + tristate "Input devices (needed for keyboard, mouse, ...)" + select INPUT_MOUSEDEV if STANDARD + select INPUT_KEYBDEV if STANDARD && X86 + select SERIO if STANDARD && X86 default y ---help--- Say Y here if you have any input device (mouse, keyboard, tablet,
@@ -27,8 +29,9 @@ comment "Userland interfaces" config INPUT_MOUSEDEV - tristate "Mouse interface" if EMBEDDED + tristate "Mouse interface" default y + select INPUT_MOUSEDEV_PSAUX if STANDARD depends on INPUT ---help--- Say Y here if you want your mouse to be accessible as char devices
@@ -45,7 +48,7 @@ a module, say M here and read <file:Documentation/modules.txt>. config INPUT_MOUSEDEV_PSAUX - bool "Provide legacy /dev/psaux device" if EMBEDDED + bool "Provide legacy /dev/psaux device" default y depends on INPUT_MOUSEDEV
===== drivers/input/keyboard/Kconfig 1.6 vs edited =====
drivers/input/keyboard/Kconfig +3 -2
@@ -2,8 +2,9 @@ # Input core configuration # config INPUT_KEYBOARD - bool "Keyboards" if EMBEDDED || !X86 + bool "Keyboards" default y + select KEYBOARD_ATKBD if STANDARD && X86 depends on INPUT help Say Y here, and a list of supported keyboards will be displayed.
@@ -12,7 +13,7 @@ If unsure, say Y. config KEYBOARD_ATKBD - tristate "AT keyboard support" if EMBEDDED || !X86 + tristate "AT keyboard support" default y depends on INPUT && INPUT_KEYBOARD && SERIO help
===== drivers/input/serio/Kconfig 1.9 vs edited =====
drivers/input/serio/Kconfig +2 -1
@@ -2,7 +2,8 @@ # Input core configuration # config SERIO tristate "Serial i/o support (needed for keyboard and mouse)" + select SERIO_I8042 if STANDARD && X86 default y ---help--- Say Yes here if you have any input device that uses serial I/O to
@@ -19,7 +20,7 @@ as a module, say M here and read <file:Documentation/modules.txt>. config SERIO_I8042 - tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 + tristate "i8042 PC Keyboard controller" default y depends on SERIO ---help---
===== drivers/video/console/Kconfig 1.18 vs edited =====
drivers/video/console/Kconfig +1 -1
@@ -5,7 +5,7 @@ menu "Console display driver support" config VGA_CONSOLE - bool "VGA text console" if EMBEDDED || !X86 + bool "VGA text console" if STANDARD && X86 depends on !ARCH_ACORN && !ARCH_EBSA110 || !4xx && !8xx default y help
===== init/Kconfig 1.22 vs edited =====
init/Kconfig +10 -4
@@ -145,8 +145,14 @@ This option enables access to kernel configuration file and build information through /proc/ikconfig. +config STANDARD + bool "Enable standard kernel features" + default y + help + This option will automatically select some standard kernel + features that you almost certainly want. -menuconfig EMBEDDED +menuconfig NONSTD_ABI bool "Remove kernel features (for embedded systems)" help This option allows certain base kernel features to be removed from
@@ -155,7 +161,7 @@ are doing. config KALLSYMS - bool "Load all symbols for debugging/kksymoops" if EMBEDDED + bool "Load all symbols for debugging/kksymoops" if NONSTD_ABI default y help Say Y here to let the kernel print out symbolic crash information and
@@ -163,7 +169,7 @@ somewhat, as all symbols have to be loaded into the kernel image. config FUTEX - bool "Enable futex support" if EMBEDDED + bool "Enable futex support" if NONSTD_ABI default y help Disabling this option will cause the kernel to be built without
@@ -171,7 +177,7 @@ run glibc-based applications correctly. config EPOLL - bool "Enable eventpoll support" if EMBEDDED + bool "Enable eventpoll support" if NONSTD_ABI default y help Disabling this option will cause the kernel to be built without
Signature · 2 lines
Tom Rini http://gate.crashing.org/~trini/
drivers/video/console/Kconfig line 11
Quoted 11 lines · Tom Rini
drivers/video/console/Kconfig +1
-1@@ -5,7 +5,7 @@ menu "Console display driver support" config VGA_CONSOLE - bool "VGA text console" if EMBEDDED || !X86 + bool "VGA text console" if STANDARD && X86 depends on !ARCH_ACORN && !ARCH_EBSA110 || !4xx && !8xx default y help
Ugh, this makes VGA_CONSOLE default to yes if X86 is not set, right? Don't you want
bool "VGA text console" if !STANDARD || X86
?
Or do I need an update course on Kconfig syntax?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 16 lines · Geert Uytterhoeven
drivers/video/console/Kconfig line 11
Quoted 11 lines · Tom Rini
drivers/video/console/Kconfig +1
-1@@ -5,7 +5,7 @@ menu "Console display driver support" config VGA_CONSOLE - bool "VGA text console" if EMBEDDED || !X86 + bool "VGA text console" if STANDARD && X86 depends on !ARCH_ACORN && !ARCH_EBSA110 || !4xx && !8xx default y helpUgh, this makes
VGA_CONSOLEdefault to yes if X86 is not set, right? Don't you want
Quoted 5 lines
bool "VGA text console" if !STANDARD || X86?
Or do I need an update course on
Kconfigsyntax?
No, I think that's a logic error on my part. What I intended was default to Y on (STANDARD && X86), otherwise ask. So it should have been:
bool "VGA text console" if !(STANDARD && X86)
Signature · 2 lines
Tom Rini http://gate.crashing.org/~trini/
Quoted 17 lines · Tom Rini
Quoted 16 lines · Geert Uytterhoeven
drivers/video/console/Kconfig line 11
Quoted 11 lines · Tom Rini
drivers/video/console/Kconfig +1
-1@@ -5,7 +5,7 @@ menu "Console display driver support" config VGA_CONSOLE - bool "VGA text console" if EMBEDDED || !X86 + bool "VGA text console" if STANDARD && X86 depends on !ARCH_ACORN && !ARCH_EBSA110 || !4xx && !8xx default y helpUgh, this makes
VGA_CONSOLEdefault to yes if X86 is not set, right? Don't you want
Quoted 1 line
Quoted 1 line
bool "VGA text console" if !STANDARD || X86
Oops, and I meant !X86, of course.
Quoted 8 lines
Quoted 3 lines
?
Or do I need an update course on
Kconfigsyntax?No, I think that's a logic error on my part. What I intended was default to Y on (STANDARD && X86), otherwise ask. So it should have been:
bool "VGA text console" if !(STANDARD && X86)
OK, that's equivalent to what I had in mind :-)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
BTW, what about adding a `suggests' keyword to Kconfig, cfr. Debian package dependencies?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Quoted 10 lines
Quoted 3 lines
There's really no point in forcing in support for all kinds of optional input devices unless
CONFIG_EMBEDDED.I disagree. We've had too many totally unnecessary bug-reports from people, and it's just not worth it not having the keyboard and mouse controller driver.
However, we can certainly improve on it, and the "select INPUT if VT" part makes fine sense.
One thing I like to ask is that you removed the if EMBEDDED | !X86 fromVGA_CONSOLE. To my knowledge no one had problems with enabling vga console before the EMBEDDED changes. The reason I ask is because as it stands the configuration is forcing everyone on intel to enable the vga console. Even when you want to just run framebuffer console. Most newbie users will not know that they have to go back and enable "Embedded" support on a desktop machine just to disable vgacon.
This is important because on the intel platform people are moving to
framebuffer console. Also it would not shock me to see in one or two generations graphics card not supporting VGA cores anymore. For example I have several newer graphics cards for intel with DVI ports instead of VGA. Once the market is flooded with DVI monitors and graphics cards there is no need for VGA core support anymore.
Quoted 7 lines · Christoph Hellwig
There's really no point in forcing in support for all kinds of optional input devices unless
CONFIG_EMBEDDED. Also some of the selections really broke configs that worked fine before as indicated by the reports on lkml. Instead selectCONFIG_INPUTifCONFIG_VTis selected so people upgrading from 2.4 using make oldconfig have a chance to see it if they didn't needCONFIG_INPUTbefore.
Quoted 5 lines
Btw, could we please get a consensus on what
CONFIG_EMBEDDEDis supposed to mean? It was introduced to allow compiling code out for special cases that normal userspace should be able to rely on like epoll and futexes but people seem to use it as an Aunt Tillie guard these days..
I think this is the way to go. I'm merging this into my tree now.
Quoted 22 lines
drivers/char/Kconfig +3
-3@@ -5,8 +5,8 @@ menu "Character devices" config VT - bool "Virtual terminal" if EMBEDDED - requires INPUT=y + bool "Virtual terminal" + select INPUT default y ---help--- If you say Y here, you will get support for terminal devices with@@ -36,7 +36,7 @@ shiny Linux system :-) config VT_CONSOLE - bool "Support for console on virtual terminal" if EMBEDDED + bool "Support for console on virtual terminal" depends on VT default y ---help---
[snip]
Signature · 2 lines
Vojtech Pavlik SuSE Labs, SuSE CR