Kconfig refactoring for better menu nesting
Subsystems (2)
PATCH 1/1 Kconfig refactoring for better menu nesting
Refactor Kconfig content to maximize nesting of menus by menuconfig and xconfig. No functional changes.
Tested by simultaneously running make xconfig with and without patch, and comparing displays.
---
The claim is that this helps the user's understanding of options -- but since options are reordered, experts on particular subsystems might disagree in some instances.
Tested against 2.6.18-git20.
drivers/net/wireless/Kconfig | 72 +++++++++++++++++++++---------------------- drivers/parport/Kconfig | 44 +++++++++++++------------- drivers/pci/hotplug/Kconfig | 3 + drivers/serial/Kconfig | 53 +++++++++++++++---------------- lib/Kconfig.debug | 56 ++++++++++++++++----------------- sound/core/Kconfig | 28 ++++++++-------- 6 files changed, 128 insertions(+), 128 deletions(-)
Index: linux-2.6.18/lib/Kconfig.debug =================================--- linux-2.6.18.orig/lib/Kconfig.debug +++ linux-2.6.18/lib/Kconfig.debug
@@ -46,6 +46,34 @@ config UNUSED_SYMBOLS
you really need it, and what the merge plan to the mainline kernel for your module is.
+config DEBUG_FS
+ bool "Debug Filesystem"
+ depends on SYSFS
+ help
+ debugfs is a virtual file system that kernel developers use to put + debugging files into. Enable this option to be able to read and + write to these files.
+
+ If unsure, say N.
+
+config UNWIND_INFO
+ bool "Compile the kernel with frame unwind information"
+ depends on !IA64 && !PARISC
+ depends on !MODULES || !(MIPS || PPC || SUPERH || V850)
+ help
+ If you say Y here the resulting kernel image will be slightly larger + but not slower, and it will give very useful debugging information. + If you don't debug the kernel, you can say N, but we may not be able + to solve problems without frame unwind information or frame pointers.
+
+config STACK_UNWIND
+ bool "Stack unwind support"
+ depends on UNWIND_INFO
+ depends on X86
+ help
+ This enables more precise stack traces, omitting all unrelated
+ occurrences of pointers into kernel code from the dump.
+
config DEBUG_KERNEL
bool "Kernel debugging"
help
@@ -301,16 +329,6 @@ config DEBUG_INFO
If unsure, say N.
-config DEBUG_FS
- bool "Debug Filesystem"
- depends on SYSFS
- help
- debugfs is a virtual file system that kernel developers use to put - debugging files into. Enable this option to be able to read and - write to these files.
-
- If unsure, say N.
-
config DEBUG_VM
bool "Debug VM"
depends on DEBUG_KERNEL
@@ -339,24 +357,6 @@ config FRAME_POINTER
some architectures or if you use external debuggers. If you don't debug the kernel, you can say N.
-config UNWIND_INFO
- bool "Compile the kernel with frame unwind information"
- depends on !IA64 && !PARISC
- depends on !MODULES || !(MIPS || PPC || SUPERH || V850)
- help
- If you say Y here the resulting kernel image will be slightly larger - but not slower, and it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame unwind information or frame pointers.
-
-config STACK_UNWIND
- bool "Stack unwind support"
- depends on UNWIND_INFO
- depends on X86
- help
- This enables more precise stack traces, omitting all unrelated
- occurrences of pointers into kernel code from the dump.
-
config FORCED_INLINING
bool "Force gcc to inline functions marked 'inline'"
depends on DEBUG_KERNEL
Index: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================--- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBM
config HOTPLUG_PCI_ACPI
tristate "ACPI PCI Hotplug driver"
- depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI)
+ depends on HOTPLUG_PCI
+ depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)
help
Say Y here if you have a system that supports PCI Hotplug using ACPI.
Index: linux-2.6.18/drivers/net/wireless/Kconfig =================================--- linux-2.6.18.orig/drivers/net/wireless/Kconfig +++ linux-2.6.18/drivers/net/wireless/Kconfig
@@ -371,33 +371,6 @@ config PCI_HERMES
common. Some of the built-in wireless adaptors in laptops are of this variety.
-config ATMEL
- tristate "Atmel at76c50x chipset 802.11b support" - depends on NET_RADIO && (PCI || PCMCIA) - select FW_LOADER - select CRC32
- ---help---
- A driver 802.11b wireless cards based on the Atmel fast-vnet
- chips. This driver supports standard Linux wireless extensions.
-
- Many cards based on this chipset do not have flash memory - and need their firmware loaded at start-up. If yours is - one of these, you will need to provide a firmware image - to be loaded into the card by the driver. The Atmel - firmware package can be downloaded from - <http://www.thekelleys.org.uk/atmel>
-
-config PCI_ATMEL
- tristate "Atmel at76c506 PCI cards"
- depends on ATMEL && PCI
- ---help---
- Enable support for PCI and mini-PCI cards containing the
- Atmel at76c506 chip.
-
-# If Pcmcia is compiled in, offer Pcmcia cards... -comment "Wireless 802.11b Pcmcia/Cardbus cards support"
- depends on NET_RADIO && PCMCIA
-
config PCMCIA_HERMES
tristate "Hermes PCMCIA card support" depends on NET_RADIO && PCMCIA && HERMES
@@ -432,6 +405,42 @@ config PCMCIA_SPECTRUM
for downloading Symbol firmware are available at
<http://sourceforge.net/projects/orinoco/>
+config ATMEL
+ tristate "Atmel at76c50x chipset 802.11b support" + depends on NET_RADIO && (PCI || PCMCIA) + select FW_LOADER + select CRC32
+ ---help---
+ A driver 802.11b wireless cards based on the Atmel fast-vnet
+ chips. This driver supports standard Linux wireless extensions.
+
+ Many cards based on this chipset do not have flash memory + and need their firmware loaded at start-up. If yours is + one of these, you will need to provide a firmware image + to be loaded into the card by the driver. The Atmel + firmware package can be downloaded from + <http://www.thekelleys.org.uk/atmel>
+
+config PCI_ATMEL
+ tristate "Atmel at76c506 PCI cards"
+ depends on ATMEL && PCI
+ ---help---
+ Enable support for PCI and mini-PCI cards containing the
+ Atmel at76c506 chip.
+
+config PCMCIA_ATMEL
+ tristate "Atmel at76c502/at76c504 PCMCIA cards"
+ depends on NET_RADIO && ATMEL && PCMCIA
+ select FW_LOADER
+ select CRC32
+ ---help---
+ Enable support for PCMCIA cards containing the
+ Atmel at76c502 and at76c504 chips.
+
+# If Pcmcia is compiled in, offer Pcmcia cards...
+comment "Wireless 802.11b Pcmcia/Cardbus cards support"
+ depends on NET_RADIO && PCMCIA
+
config AIRO_CS
tristate "Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards" depends on NET_RADIO && PCMCIA && (BROKEN || !M32R)
@@ -456,15 +465,6 @@ config AIRO_CS
for location). You also want to check out the PCMCIA-HOWTO, available from <http://www.tldp.org/docs.html#howto>.
-config PCMCIA_ATMEL
- tristate "Atmel at76c502/at76c504 PCMCIA cards"
- depends on NET_RADIO && ATMEL && PCMCIA
- select FW_LOADER
- select CRC32
- ---help---
- Enable support for PCMCIA cards containing the
- Atmel at76c502 and at76c504 chips.
-
config PCMCIA_WL3501
tristate "Planet WL3501 PCMCIA cards"
depends on NET_RADIO && EXPERIMENTAL && PCMCIA
Index: linux-2.6.18/drivers/parport/Kconfig =================================--- linux-2.6.18.orig/drivers/parport/Kconfig +++ linux-2.6.18/drivers/parport/Kconfig
@@ -82,6 +82,28 @@ config PARPORT_PC_PCMCIA
Say Y here if you need PCMCIA support for your PC-style parallel ports. If unsure, say N.
+config PARPORT_AX88796
+ tristate "AX88796 Parallel Port"
+ depends on PARPORT
+ select PARPORT_NOT_PC
+ help
+ Say Y here if you need support for the parallel port hardware on + the AX88796 network controller chip. This code is also available + as a module (say M), called parport_ax88796.
+
+ The driver is not dependant on the AX88796 network driver, and
+ should not interfere with the networking functions of the chip.
+
+config PARPORT_1284
+ bool "IEEE 1284 transfer modes"
+ depends on PARPORT
+ help
+ If you have a printer that supports status readback or device ID, or + want to use a device that uses enhanced parallel port transfer modes + such as EPP and ECP, say Y here to enable advanced IEEE 1284 + transfer modes. Also say Y if you want device ID information to + appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N.
+
config PARPORT_NOT_PC
bool
@@ -136,27 +158,5 @@ config PARPORT_SUNBPP
found on many Sun machines. Note that many of the newer Ultras actually have pc style hardware instead.
-config PARPORT_AX88796
- tristate "AX88796 Parallel Port"
- depends on PARPORT
- select PARPORT_NOT_PC
- help
- Say Y here if you need support for the parallel port hardware on - the AX88796 network controller chip. This code is also available - as a module (say M), called parport_ax88796.
-
- The driver is not dependant on the AX88796 network driver, and
- should not interfere with the networking functions of the chip.
-
-config PARPORT_1284
- bool "IEEE 1284 transfer modes"
- depends on PARPORT
- help
- If you have a printer that supports status readback or device ID, or - want to use a device that uses enhanced parallel port transfer modes - such as EPP and ECP, say Y here to enable advanced IEEE 1284 - transfer modes. Also say Y if you want device ID information to - appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N.
-
endmenu
Index: linux-2.6.18/drivers/serial/Kconfig =================================--- linux-2.6.18.orig/drivers/serial/Kconfig +++ linux-2.6.18/drivers/serial/Kconfig
@@ -151,32 +151,6 @@ config SERIAL_8250_MANY_PORTS
say N here to save some memory. You can also say Y if you have an "intelligent" multiport card such as Cyclades, Digiboards, etc.
-config SERIAL_8250_SHARE_IRQ
- bool "Support for sharing serial interrupts"
- depends on SERIAL_8250_EXTENDED
- help
- Some serial boards have hardware support which allows multiple dumb - serial ports on the same board to share a single IRQ. To enable - support for this in the serial driver, say Y here.
-
-config SERIAL_8250_DETECT_IRQ
- bool "Autodetect IRQ on standard ports (unsafe)"
- depends on SERIAL_8250_EXTENDED
- help
- Say Y here if you want the kernel to try to guess which IRQ
- to use for your serial port.
-
- This is considered unsafe; it is far better to configure the IRQ in
- a boot script using the setserial command.
-
- If unsure, say N.
-
-config SERIAL_8250_RSA
- bool "Support RSA serial ports"
- depends on SERIAL_8250_EXTENDED
- help
- ::: To be written :::
-
#
# Multi-port serial cards
#
@@ -199,7 +173,6 @@ config SERIAL_8250_ACCENT
To compile this driver as a module, choose M here: the module will be called 8250_accent.
-
config SERIAL_8250_BOCA
tristate "Support Boca cards"
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
@@ -219,6 +192,32 @@ config SERIAL_8250_HUB6
To compile this driver as a module, choose M here: the module will be called 8250_hub6.
+config SERIAL_8250_SHARE_IRQ
+ bool "Support for sharing serial interrupts"
+ depends on SERIAL_8250_EXTENDED
+ help
+ Some serial boards have hardware support which allows multiple dumb + serial ports on the same board to share a single IRQ. To enable + support for this in the serial driver, say Y here.
+
+config SERIAL_8250_DETECT_IRQ
+ bool "Autodetect IRQ on standard ports (unsafe)"
+ depends on SERIAL_8250_EXTENDED
+ help
+ Say Y here if you want the kernel to try to guess which IRQ
+ to use for your serial port.
+
+ This is considered unsafe; it is far better to configure the IRQ in
+ a boot script using the setserial command.
+
+ If unsure, say N.
+
+config SERIAL_8250_RSA
+ bool "Support RSA serial ports"
+ depends on SERIAL_8250_EXTENDED
+ help
+ ::: To be written :::
+
config SERIAL_8250_MCA
tristate "Support 8250-type ports on MCA buses" depends on SERIAL_8250 != n && MCA
Index: linux-2.6.18/sound/core/Kconfig =================================--- linux-2.6.18.orig/sound/core/Kconfig +++ linux-2.6.18/sound/core/Kconfig
@@ -42,6 +42,20 @@ config SND_SEQ_DUMMY
To compile this driver as a module, choose M here: the module will be called snd-seq-dummy.
+config SND_SEQUENCER_OSS
+ bool "OSS Sequencer API"
+ depends on SND && SND_SEQUENCER
+ select SND_OSSEMUL
+ help
+ Say Y here to enable OSS sequencer emulation (both
+ /dev/sequencer and /dev/music interfaces).
+
+ Many programs still use the OSS API, so say Y.
+
+ If you choose M in "Sequencer support" (SND_SEQUENCER), + this will be compiled as a module. The module will be called + snd-seq-oss.
+
config SND_OSSEMUL
bool
depends on SND
@@ -82,20 +96,6 @@ config SND_PCM_OSS_PLUGINS
support conversion of channels, formats and rates. It will behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
-config SND_SEQUENCER_OSS
- bool "OSS Sequencer API"
- depends on SND && SND_SEQUENCER
- select SND_OSSEMUL
- help
- Say Y here to enable OSS sequencer emulation (both
- /dev/sequencer and /dev/music interfaces).
-
- Many programs still use the OSS API, so say Y.
-
- If you choose M in "Sequencer support" (SND_SEQUENCER), - this will be compiled as a module. The module will be called - snd-seq-oss.
-
config SND_RTCTIMER
tristate "RTC Timer support"
depends on SND && RTC
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 6 lines · On Tue, 03 Oct 2006 23:52:43 -0700 Don Mullis wrote:
Refactor
Kconfigcontent to maximize nesting of menus by menuconfig and xconfig. No functional changes.Tested by simultaneously running
make xconfigwith and without patch, and comparing displays.
Quoted 6 lines
Signed-off-by Don Mullis <[email protected]>---
The claim is that this helps the user's understanding of options -- but since options are reordered, experts on particular subsystems might disagree in some instances.
Yeah, there's plenty of room for rearranging some of these... and for disagreeing about them. :)
Quoted 35 lines
Tested against 2.6.18-git20.
drivers/net/wireless/Kconfig | 72 +++++++++++++++++++++---------------------- drivers/parport/Kconfig | 44 +++++++++++++------------- drivers/pci/hotplug/Kconfig | 3 + drivers/serial/Kconfig | 53 +++++++++++++++---------------- lib/Kconfig.debug | 56 ++++++++++++++++----------------- sound/core/Kconfig | 28 ++++++++-------- 6 files changed, 128 insertions(+), 128 deletions(-)Index: linux-2.6.18/lib/Kconfig.debug =================================> --- linux-2.6.18.orig/lib/Kconfig.debug +++ linux-2.6.18/lib/Kconfig.debug
(quoted diff) +18
-0@@ -46,6 +46,34 @@ config UNUSED_SYMBOLS you really need it, and what the merge plan to the mainline kernel for your module is. +config DEBUG_FS + bool "Debug Filesystem" + depends on SYSFS + help + debugfs is a virtual file system that kernel developers use to put + debugging files into. Enable this option to be able to read and + write to these files. + + If unsure, say N. + +config UNWIND_INFO + bool "Compile the kernel with frame unwind information" + depends on !IA64 && !PARISC + depends on !MODULES || !(MIPS || PPC || SUPERH || V850) + help + If you say Y here the resulting kernel image will be slightly larger + but not slower, and it will give very useful debugging information. + If you don't debug the kernel, you can say N, but we may not be able
Review config UNUSED_SYMBOLS · line 76
Quoted 10 lines
(quoted diff) +10
-0+ to solve problems without frame unwind information or frame pointers. + +config STACK_UNWIND + bool "Stack unwind support" + depends on UNWIND_INFO + depends on X86 + help + This enables more precise stack traces, omitting all unrelated + occurrences of pointers into kernel code from the dump. +
I suppose that those make sense since they don't depend on DEBUG_KERNEL.
I think that the Linux Kernel Dump Test Tool Module also needs to depend on DEBUG_KERNEL. Either that or just move it up with these other config items that you moved. Would you do that too, please?
Quoted 49 lines
(quoted diff) +0
-28config DEBUG_KERNEL bool "Kernel debugging" help@@ -301,16 +329,6 @@ config DEBUG_INFO If unsure, say N. -config DEBUG_FS - bool "Debug Filesystem" - depends on SYSFS - help - debugfs is a virtual file system that kernel developers use to put - debugging files into. Enable this option to be able to read and - write to these files. - - If unsure, say N. - config DEBUG_VM bool "Debug VM" depends on DEBUG_KERNEL@@ -339,24 +357,6 @@ config FRAME_POINTER some architectures or if you use external debuggers. If you don't debug the kernel, you can say N. -config UNWIND_INFO - bool "Compile the kernel with frame unwind information" - depends on !IA64 && !PARISC - depends on !MODULES || !(MIPS || PPC || SUPERH || V850) - help - If you say Y here the resulting kernel image will be slightly larger - but not slower, and it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame unwind information or frame pointers. - -config STACK_UNWIND - bool "Stack unwind support" - depends on UNWIND_INFO - depends on X86 - help - This enables more precise stack traces, omitting all unrelated - occurrences of pointers into kernel code from the dump. - config FORCED_INLINING bool "Force gcc to inline functions marked 'inline'" depends on DEBUG_KERNELIndex: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================> --- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
Review config HOTPLUG_PCI_IBM · line 80
Quoted 6 lines
(quoted diff) +2
-1@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBM config HOTPLUG_PCI_ACPI tristate "ACPI PCI Hotplug driver" - depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI) + depends on HOTPLUG_PCI + depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)
Yep, much more readable to me.
Quoted 6 lines
(quoted diff) +0
-0help Say Y here if you have a system that supports PCI Hotplug using ACPI.Index: linux-2.6.18/drivers/net/wireless/Kconfig =================================> --- linux-2.6.18.orig/drivers/net/wireless/Kconfig +++ linux-2.6.18/drivers/net/wireless/Kconfig
IMO we want to leave all of the PCMCIA options grouped together instead of moving them around by chipset.
Review config PARPORT_PC_PCMCIA
Quoted 4 lines
Index: linux-2.6.18/drivers/parport/Kconfig =================================> --- linux-2.6.18.orig/drivers/parport/Kconfig +++ linux-2.6.18/drivers/parport/Kconfig
(quoted diff) +0
-0@@ -82,6 +82,28 @@ config PARPORT_PC_PCMCIA
Hm, parport could use a little work. What do you think of the version below?
Quoted 3 lines
Index: linux-2.6.18/drivers/serial/Kconfig =================================> --- linux-2.6.18.orig/drivers/serial/Kconfig +++ linux-2.6.18/drivers/serial/Kconfig
This one is Good. Should be merged.
Review config SND_SEQ_DUMMY
Quoted 78 lines
(quoted diff) +26
-27@@ -151,32 +151,6 @@ config SERIAL_8250_MANY_PORTS say N here to save some memory. You can also say Y if you have an "intelligent" multiport card such as Cyclades, Digiboards, etc. -config SERIAL_8250_SHARE_IRQ - bool "Support for sharing serial interrupts" - depends on SERIAL_8250_EXTENDED - help - Some serial boards have hardware support which allows multiple dumb - serial ports on the same board to share a single IRQ. To enable - support for this in the serial driver, say Y here. - -config SERIAL_8250_DETECT_IRQ - bool "Autodetect IRQ on standard ports (unsafe)" - depends on SERIAL_8250_EXTENDED - help - Say Y here if you want the kernel to try to guess which IRQ - to use for your serial port. - - This is considered unsafe; it is far better to configure the IRQ in - a boot script using the setserial command. - - If unsure, say N. - -config SERIAL_8250_RSA - bool "Support RSA serial ports" - depends on SERIAL_8250_EXTENDED - help - ::: To be written ::: - # # Multi-port serial cards #@@ -199,7 +173,6 @@ config SERIAL_8250_ACCENT To compile this driver as a module, choose M here: the module will be called 8250_accent. - config SERIAL_8250_BOCA tristate "Support Boca cards" depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS@@ -219,6 +192,32 @@ config SERIAL_8250_HUB6 To compile this driver as a module, choose M here: the module will be called 8250_hub6. +config SERIAL_8250_SHARE_IRQ + bool "Support for sharing serial interrupts" + depends on SERIAL_8250_EXTENDED + help + Some serial boards have hardware support which allows multiple dumb + serial ports on the same board to share a single IRQ. To enable + support for this in the serial driver, say Y here. + +config SERIAL_8250_DETECT_IRQ + bool "Autodetect IRQ on standard ports (unsafe)" + depends on SERIAL_8250_EXTENDED + help + Say Y here if you want the kernel to try to guess which IRQ + to use for your serial port. + + This is considered unsafe; it is far better to configure the IRQ in + a boot script using the setserial command. + + If unsure, say N. + +config SERIAL_8250_RSA + bool "Support RSA serial ports" + depends on SERIAL_8250_EXTENDED + help + ::: To be written ::: + config SERIAL_8250_MCA tristate "Support 8250-type ports on MCA buses" depends on SERIAL_8250 != n && MCAIndex: linux-2.6.18/sound/core/Kconfig =================================> --- linux-2.6.18.orig/sound/core/Kconfig +++ linux-2.6.18/sound/core/Kconfig
(quoted diff) +0
-0@@ -42,6 +42,20 @@ config SND_SEQ_DUMMY
Well... I like the OSS options grouped together, but others may prefer the sequencer options grouped together.
---
Alternate parport Kconfig patch:
From: Randy Dunlap <[email protected]>
Rearrange PARPORT config options so that the menu is not split up unnecessarily.
---
drivers/parport/Kconfig +29 -29
@@ -82,8 +82,33 @@ config PARPORT_PC_PCMCIA Say Y here if you need PCMCIA support for your PC-style parallel ports. If unsure, say N. -config PARPORT_NOT_PC - bool +config PARPORT_1284 + bool "IEEE 1284 transfer modes" + depends on PARPORT + help + If you have a printer that supports status readback or device ID, or + want to use a device that uses enhanced parallel port transfer modes + such as EPP and ECP, say Y here to enable advanced IEEE 1284 + transfer modes. Also say Y if you want device ID information to + appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N. + +config PARPORT_AX88796 + tristate "AX88796 Parallel Port" + depends on PARPORT + select PARPORT_NOT_PC + help + Say Y here if you need support for the parallel port hardware on + the AX88796 network controller chip. This code is also available + as a module (say M), called parport_ax88796. + + The driver is not dependant on the AX88796 network driver, and + should not interfere with the networking functions of the chip. + +config PARPORT_GSC + tristate + default GSC + depends on PARPORT + select PARPORT_NOT_PC config PARPORT_IP32 tristate "SGI IP32 builtin port (EXPERIMENTAL)"
@@ -121,12 +146,6 @@ config PARPORT_ATARI Atari machines. This code is also available as a module (say M), called parport_atari. If in doubt, saying N is the safe plan. -config PARPORT_GSC - tristate - default GSC - depends on PARPORT - select PARPORT_NOT_PC - config PARPORT_SUNBPP tristate "Sparc hardware (EXPERIMENTAL)" depends on SBUS && PARPORT && EXPERIMENTAL
@@ -136,27 +155,8 @@ config PARPORT_SUNBPP found on many Sun machines. Note that many of the newer Ultras actually have pc style hardware instead. -config PARPORT_AX88796 - tristate "AX88796 Parallel Port" - depends on PARPORT - select PARPORT_NOT_PC - help - Say Y here if you need support for the parallel port hardware on - the AX88796 network controller chip. This code is also available - as a module (say M), called parport_ax88796. - - The driver is not dependant on the AX88796 network driver, and - should not interfere with the networking functions of the chip. - -config PARPORT_1284 - bool "IEEE 1284 transfer modes" - depends on PARPORT - help - If you have a printer that supports status readback or device ID, or - want to use a device that uses enhanced parallel port transfer modes - such as EPP and ECP, say Y here to enable advanced IEEE 1284 - transfer modes. Also say Y if you want device ID information to - appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N. +config PARPORT_NOT_PC + bool endmenu
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 5 lines · Randy Dunlap
Quoted 3 lines · On Tue, 03 Oct 2006 23:52:43 -0700 Don Mullis wrote:
Refactor
Kconfigcontent to maximize nesting of menus by menuconfig and xconfig. No functional changes.
...
Quoted 5 lines
Quoted 5 lines
Index: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================>> --- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
(quoted diff) +0
-0@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBM
Quoted 7 lines
Review config HOTPLUG_PCI_IBM · line 80
Quoted 5 lines
(quoted diff) +2
-1config HOTPLUG_PCI_ACPI tristate "ACPI PCI Hotplug driver" - depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI) + depends on HOTPLUG_PCI + depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)Yep, much more readable to me.
I'm not sure about the semantics of "depends on" but in boolean logic:
(!ACPI_DOCK && ACPI) || (ACPI_DOCK) = (!ACPI_DOCK || ACPI_DOCK) && (ACPI || ACPI_DOCK)
= (true) && (ACPI || ACPI_DOCK)
= ACPI || ACPI_DOCK
Is there something about "depends on" that would make the far simpler expression incorrect?
Signature · 5 lines
Mark Hollomon _______________________________________________ Kernel-janitors mailing list [email protected] https://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 22 lines · On Wed, 04 Oct 2006 16:02:59 -0400 Mark Hollomon wrote:
Quoted 5 lines · Randy Dunlap
Quoted 3 lines · On Tue, 03 Oct 2006 23:52:43 -0700 Don Mullis wrote:
Refactor
Kconfigcontent to maximize nesting of menus by menuconfig and xconfig. No functional changes....
Quoted 5 lines
Quoted 5 lines
Index: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================> >> --- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
(quoted diff) +0
-0@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBMQuoted 7 lines
Review config HOTPLUG_PCI_IBM · line 80
Quoted 5 lines
(quoted diff) +2
-1config HOTPLUG_PCI_ACPI tristate "ACPI PCI Hotplug driver" - depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI) + depends on HOTPLUG_PCI + depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)Yep, much more readable to me.
Quoted 8 lines
I'm not sure about the semantics of "depends on" but in boolean logic:
(!ACPI_DOCK && ACPI) || (
ACPI_DOCK) = (!ACPI_DOCK ||ACPI_DOCK) && (ACPI ||ACPI_DOCK)= (true) && (ACPI ||
ACPI_DOCK)
= ACPI ||ACPI_DOCKIs there something about "depends on" that would make the far simpler expression incorrect?
It's not boolean, it's tri-state (y/m/n).
or a mix of boolean and tri-state variables. :(
See $KERNELSOURCE/Documentation/kbuild/kconfig-language.txt for some info, although I expect it could be better/improved.
---
~Randy
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 9 lines
I'm not sure about the semantics of "depends on" but in boolean logic:
(!ACPI_DOCK && ACPI) || (
ACPI_DOCK) = (!ACPI_DOCK ||ACPI_DOCK) && (ACPI ||ACPI_DOCK)= (true) && (ACPI ||
ACPI_DOCK)
= ACPI ||ACPI_DOCKIs there something about "depends on" that would make the far simpler expression incorrect?
Your simplification looks good to me.
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 17 lines
Quoted 17 lines
Quoted 5 lines
Quoted 5 lines
Index: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================> > >> --- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
(quoted diff) +0
-0@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBMQuoted 7 lines
Review config HOTPLUG_PCI_IBM · line 80
Quoted 5 lines
(quoted diff) +2
-1config HOTPLUG_PCI_ACPI tristate "ACPI PCI Hotplug driver" - depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI) + depends on HOTPLUG_PCI + depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)Yep, much more readable to me.
I'm not sure about the semantics of "depends on" but in boolean logic:
(!ACPI_DOCK && ACPI) || (
ACPI_DOCK) = (!ACPI_DOCK ||ACPI_DOCK) && (ACPI ||ACPI_DOCK)
Quoted 7 lines
Quoted 4 lines
= (true) && (ACPI ||
ACPI_DOCK)
= ACPI ||ACPI_DOCKIs there something about "depends on" that would make the far simpler expression incorrect?
It's not boolean, it's tri-state (y/m/n).
or a mix of boolean and tri-state variables. :(
You're right. The broken case is
ACPI_dock=m
ACPI=y
where
(!ACPI_DOCK && ACPI) || (ACPI_DOCK) = 'm' but ACPI || ACPI_DOCK = 'y'
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Quoted 3 lines
I think that the Linux Kernel Dump Test Tool Module also needs to depend on
DEBUG_KERNEL. Either that or just move it up with these other config items that you moved. Would you do that too, please?
Okay, I'll do that, fold in your patch, and retest. Will take a few days.
DM
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Re: [KJ] [PATCH] Kconfig refactoring for better menu nesting, v.2
In reply to Don MullisQuoted 24 lines · On Sun, 08 Oct 2006 12:53:14 -0700 Don Mullis wrote:
Refactor
Kconfigcontent to maximize nesting of menus by menuconfig and xconfig.Tested by simultaneously running
make xconfigwith and without patch, and comparing displays.Signed-off-by Don Mullis <[email protected]>Cc Randy Dunlap <[email protected]>---
The claim is that this helps the user's understanding of options -- but since options are reordered, experts on particular subsystems might disagree in some instances.Patch and suggestions by Randy Dunlap incorporated into this version.
drivers/parport/Kconfig | 6 ++-- drivers/pci/hotplug/Kconfig | 3 +- drivers/serial/Kconfig | 53 ++++++++++++++++++++--------------------- lib/Kconfig.debug | 56 ++++++++++++++++++++++---------------------- sound/core/Kconfig | 28 +++++++++++----------- 5 files changed, 73 insertions(+), 73 deletions(-)
Quoted 3 lines
Index: linux-2.6.18/lib/Kconfig.debug =================================> --- linux-2.6.18.orig/lib/Kconfig.debug +++ linux-2.6.18/lib/Kconfig.debug
That's fine, but the LKDTM module still breaks the menu and needs to be moved or depend on DEBUG_KERNEL since items after it depend on DEBUG_KERNEL.
Review config HOTPLUG_PCI_IBM · line 83
Quoted 13 lines
Index: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================> --- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
(quoted diff) +2
-1@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBM config HOTPLUG_PCI_ACPI tristate "ACPI PCI Hotplug driver" - depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI) + depends on HOTPLUG_PCI + depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK) help Say Y here if you have a system that supports PCI Hotplug using ACPI.
OK.
Quoted 3 lines
Index: linux-2.6.18/drivers/serial/Kconfig =================================> --- linux-2.6.18.orig/drivers/serial/Kconfig +++ linux-2.6.18/drivers/serial/Kconfig
serial is still Good change.
Quoted 3 lines
Index: linux-2.6.18/sound/core/Kconfig =================================> --- linux-2.6.18.orig/sound/core/Kconfig +++ linux-2.6.18/sound/core/Kconfig
I still don't care for this change.
Quoted 56 lines
(quoted diff) +14
-14@@ -42,6 +42,20 @@ config SND_SEQ_DUMMY To compile this driver as a module, choose M here: the module will be called snd-seq-dummy. +config SND_SEQUENCER_OSS + bool "OSS Sequencer API" + depends on SND && SND_SEQUENCER + select SND_OSSEMUL + help + Say Y here to enable OSS sequencer emulation (both + /dev/sequencer and /dev/music interfaces). + + Many programs still use the OSS API, so say Y. + + If you choose M in "Sequencer support" (SND_SEQUENCER), + this will be compiled as a module. The module will be called + snd-seq-oss. + config SND_OSSEMUL bool depends on SND@@ -82,20 +96,6 @@ config SND_PCM_OSS_PLUGINS support conversion of channels, formats and rates. It will behave like most of new OSS/Free drivers in 2.4/2.6 kernels. -config SND_SEQUENCER_OSS - bool "OSS Sequencer API" - depends on SND && SND_SEQUENCER - select SND_OSSEMUL - help - Say Y here to enable OSS sequencer emulation (both - /dev/sequencer and /dev/music interfaces). - - Many programs still use the OSS API, so say Y. - - If you choose M in "Sequencer support" (SND_SEQUENCER), - this will be compiled as a module. The module will be called - snd-seq-oss. - config SND_RTCTIMER tristate "RTC Timer support" depends on SND && RTCIndex: linux-2.6.18/drivers/parport/Kconfig =================================> --- linux-2.6.18.orig/drivers/parport/Kconfig +++ linux-2.6.18/drivers/parport/Kconfig
(quoted diff) +0
-3@@ -82,9 +82,6 @@ config PARPORT_PC_PCMCIA Say Y here if you need PCMCIA support for your PC-style parallel ports. If unsure, say N. -config PARPORT_NOT_PC - bool - config PARPORT_IP32 tristate "SGI IP32 builtin port (EXPERIMENTAL)" depends on SGI_IP32 && PARPORT && EXPERIMENTAL
Review config PARPORT_1284 · line 161
Quoted 7 lines
(quoted diff) +3
-0@@ -158,5 +155,8 @@ config PARPORT_1284 transfer modes. Also say Y if you want device ID information to appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N. +config PARPORT_NOT_PC + bool + endmenu
parport is Good.
Thanks.
---
~Randy
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Re: [KJ] [PATCH] Kconfig refactoring for better menu nesting, v.3
In reply to Don MullisRefactor Kconfig content to maximize nesting of menus by menuconfig and xconfig.
Tested by simultaneously running make xconfig with and without patch, and comparing displays.
---
The claim is that this helps the user's understanding of options -- but since options are reordered, experts on particular subsystems might disagree in some instances.
Thanks to Randy Dunlap for spotting a major oversight (LKDTM), and suggesting dropping an OSS sound change. Corrections incorporated into this version.
drivers/parport/Kconfig | 6 ++-- drivers/pci/hotplug/Kconfig | 3 +- drivers/serial/Kconfig | 53 ++++++++++++++++++++-------------------- lib/Kconfig.debug | 57 ++++++++++++++++++++++---------------------- 4 files changed, 60 insertions(+), 59 deletions(-)
Index: linux-2.6.18/lib/Kconfig.debug =================================--- linux-2.6.18.orig/lib/Kconfig.debug +++ linux-2.6.18/lib/Kconfig.debug
@@ -46,6 +46,34 @@ config UNUSED_SYMBOLS
you really need it, and what the merge plan to the mainline kernel for your module is.
+config DEBUG_FS
+ bool "Debug Filesystem"
+ depends on SYSFS
+ help
+ debugfs is a virtual file system that kernel developers use to put + debugging files into. Enable this option to be able to read and + write to these files.
+
+ If unsure, say N.
+
+config UNWIND_INFO
+ bool "Compile the kernel with frame unwind information"
+ depends on !IA64 && !PARISC
+ depends on !MODULES || !(MIPS || PPC || SUPERH || V850)
+ help
+ If you say Y here the resulting kernel image will be slightly larger + but not slower, and it will give very useful debugging information. + If you don't debug the kernel, you can say N, but we may not be able + to solve problems without frame unwind information or frame pointers.
+
+config STACK_UNWIND
+ bool "Stack unwind support"
+ depends on UNWIND_INFO
+ depends on X86
+ help
+ This enables more precise stack traces, omitting all unrelated
+ occurrences of pointers into kernel code from the dump.
+
config DEBUG_KERNEL
bool "Kernel debugging"
help
@@ -301,16 +329,6 @@ config DEBUG_INFO
If unsure, say N.
-config DEBUG_FS
- bool "Debug Filesystem"
- depends on SYSFS
- help
- debugfs is a virtual file system that kernel developers use to put - debugging files into. Enable this option to be able to read and - write to these files.
-
- If unsure, say N.
-
config DEBUG_VM
bool "Debug VM"
depends on DEBUG_KERNEL
@@ -339,24 +357,6 @@ config FRAME_POINTER
some architectures or if you use external debuggers. If you don't debug the kernel, you can say N.
-config UNWIND_INFO
- bool "Compile the kernel with frame unwind information"
- depends on !IA64 && !PARISC
- depends on !MODULES || !(MIPS || PPC || SUPERH || V850)
- help
- If you say Y here the resulting kernel image will be slightly larger - but not slower, and it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame unwind information or frame pointers.
-
-config STACK_UNWIND
- bool "Stack unwind support"
- depends on UNWIND_INFO
- depends on X86
- help
- This enables more precise stack traces, omitting all unrelated
- occurrences of pointers into kernel code from the dump.
-
config FORCED_INLINING
bool "Force gcc to inline functions marked 'inline'" depends on DEBUG_KERNEL
@@ -387,6 +387,7 @@ config RCU_TORTURE_TEST
config LKDTM
tristate "Linux Kernel Dump Test Tool Module"
+ depends on DEBUG_KERNEL
depends on KPROBES
default n
help
Index: linux-2.6.18/drivers/pci/hotplug/Kconfig =================================--- linux-2.6.18.orig/drivers/pci/hotplug/Kconfig +++ linux-2.6.18/drivers/pci/hotplug/Kconfig
@@ -76,7 +76,8 @@ config HOTPLUG_PCI_IBM
config HOTPLUG_PCI_ACPI
tristate "ACPI PCI Hotplug driver"
- depends on (!ACPI_DOCK && ACPI && HOTPLUG_PCI) || (ACPI_DOCK && HOTPLUG_PCI)
+ depends on HOTPLUG_PCI
+ depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)
help
Say Y here if you have a system that supports PCI Hotplug using ACPI.
Index: linux-2.6.18/drivers/serial/Kconfig =================================--- linux-2.6.18.orig/drivers/serial/Kconfig +++ linux-2.6.18/drivers/serial/Kconfig
@@ -151,32 +151,6 @@ config SERIAL_8250_MANY_PORTS
say N here to save some memory. You can also say Y if you have an "intelligent" multiport card such as Cyclades, Digiboards, etc.
-config SERIAL_8250_SHARE_IRQ
- bool "Support for sharing serial interrupts"
- depends on SERIAL_8250_EXTENDED
- help
- Some serial boards have hardware support which allows multiple dumb - serial ports on the same board to share a single IRQ. To enable - support for this in the serial driver, say Y here.
-
-config SERIAL_8250_DETECT_IRQ
- bool "Autodetect IRQ on standard ports (unsafe)"
- depends on SERIAL_8250_EXTENDED
- help
- Say Y here if you want the kernel to try to guess which IRQ
- to use for your serial port.
-
- This is considered unsafe; it is far better to configure the IRQ in
- a boot script using the setserial command.
-
- If unsure, say N.
-
-config SERIAL_8250_RSA
- bool "Support RSA serial ports"
- depends on SERIAL_8250_EXTENDED
- help
- ::: To be written :::
-
#
# Multi-port serial cards
#
@@ -199,7 +173,6 @@ config SERIAL_8250_ACCENT
To compile this driver as a module, choose M here: the module will be called 8250_accent.
-
config SERIAL_8250_BOCA
tristate "Support Boca cards"
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
@@ -219,6 +192,32 @@ config SERIAL_8250_HUB6
To compile this driver as a module, choose M here: the module will be called 8250_hub6.
+config SERIAL_8250_SHARE_IRQ
+ bool "Support for sharing serial interrupts"
+ depends on SERIAL_8250_EXTENDED
+ help
+ Some serial boards have hardware support which allows multiple dumb + serial ports on the same board to share a single IRQ. To enable + support for this in the serial driver, say Y here.
+
+config SERIAL_8250_DETECT_IRQ
+ bool "Autodetect IRQ on standard ports (unsafe)"
+ depends on SERIAL_8250_EXTENDED
+ help
+ Say Y here if you want the kernel to try to guess which IRQ
+ to use for your serial port.
+
+ This is considered unsafe; it is far better to configure the IRQ in
+ a boot script using the setserial command.
+
+ If unsure, say N.
+
+config SERIAL_8250_RSA
+ bool "Support RSA serial ports"
+ depends on SERIAL_8250_EXTENDED
+ help
+ ::: To be written :::
+
config SERIAL_8250_MCA
tristate "Support 8250-type ports on MCA buses"
depends on SERIAL_8250 != n && MCA
Index: linux-2.6.18/drivers/parport/Kconfig =================================--- linux-2.6.18.orig/drivers/parport/Kconfig +++ linux-2.6.18/drivers/parport/Kconfig
@@ -82,9 +82,6 @@ config PARPORT_PC_PCMCIA
Say Y here if you need PCMCIA support for your PC-style parallel ports. If unsure, say N.
-config PARPORT_NOT_PC
- bool
-
config PARPORT_IP32
tristate "SGI IP32 builtin port (EXPERIMENTAL)"
depends on SGI_IP32 && PARPORT && EXPERIMENTAL
@@ -158,5 +155,8 @@ config PARPORT_1284
transfer modes. Also say Y if you want device ID information to appear in /proc/sys/dev/parport/*/autoprobe*. It is safe to say N.
+config PARPORT_NOT_PC
+ bool
+
endmenu
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors
Re: [KJ] [PATCH] Kconfig refactoring for better menu nesting, v.3
In reply to Don MullisQuoted 8 lines · On Sun, 08 Oct 2006 21:56:33 -0700 Don Mullis wrote:
Refactor
Kconfigcontent to maximize nesting of menus by menuconfig and xconfig.Tested by simultaneously running
make xconfigwith and without patch, and comparing displays.Signed-off-by Don Mullis <[email protected]>Cc Randy Dunlap <[email protected]>
Thanks.
Quoted 8 lines
---
The claim is that this helps the user's understanding of options -- but since options are reordered, experts on particular subsystems might disagree in some instances.Thanks to Randy Dunlap for spotting a major oversight (LKDTM), and suggesting dropping an OSS sound change. Corrections incorporated into this version.
---
~Randy
_______________________________________________
Kernel-janitors mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/kernel-janitors