[U-Boot] [PATCH] drivers: hierarchize drivers Kconfig menu

The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com ---
drivers/core/Kconfig | 4 ++++ drivers/crypto/Kconfig | 4 ++++ drivers/demo/Kconfig | 4 ++++ drivers/gpio/Kconfig | 8 ++++++++ drivers/i2c/Kconfig | 8 ++++++++ drivers/led/Kconfig | 4 ++++ drivers/misc/Kconfig | 8 ++++++++ drivers/rtc/Kconfig | 8 ++++++++ drivers/serial/Kconfig | 8 ++++++++ drivers/sound/Kconfig | 4 ++++ drivers/usb/Kconfig | 8 ++++++++ drivers/video/Kconfig | 8 ++++++++ 12 files changed, 76 insertions(+)
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index e40372d..9cc888d 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -1,3 +1,5 @@ +menu "Generic Driver Options" + config DM bool "Enable Driver Model" help @@ -59,3 +61,5 @@ config DM_SEQ_ALIAS Most boards will have a '/aliases' node containing the path to numbered devices (e.g. serial0 = &serial0). This feature can be disabled if it is not required, to save code space in SPL. + +endmenu diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index bd26a2b..1ea116b 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -1 +1,5 @@ +menu "Hardware crypto devices" + source drivers/crypto/fsl/Kconfig + +endmenu diff --git a/drivers/demo/Kconfig b/drivers/demo/Kconfig index 7a8ce18..98bb633 100644 --- a/drivers/demo/Kconfig +++ b/drivers/demo/Kconfig @@ -1,3 +1,5 @@ +menu "Demo for driver model" + config DM_DEMO bool "Enable demo uclass support" depends on DM @@ -24,3 +26,5 @@ config DM_DEMO_SHAPE a shape when the 'demo hello' command is executed which targets this device. It can be used to help understand how driver model works. + +endmenu diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 0c43777..5934597 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,3 +1,9 @@ +# +# GPIO infrastructure and drivers +# + +menu "GPIO Support" + config DM_GPIO bool "Enable Driver Model for GPIO drivers" depends on DM @@ -42,3 +48,5 @@ config VYBRID_GPIO default n help Say yes here to support Vybrid vf610 GPIOs. + +endmenu diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 86fb36b..b8b2250 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -1,3 +1,9 @@ +# +# I2C subsystem configuration +# + +menu "I2C support" + config DM_I2C bool "Enable Driver Model for I2C drivers" depends on DM @@ -73,3 +79,5 @@ config SYS_I2C_UNIPHIER_F help Support for UniPhier FIFO-builtin I2C controller driver. This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs. + +endmenu diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index de5feea..b21bc94 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -1,3 +1,5 @@ +menu "LED Support" + config LED bool "Enable LED support" depends on DM @@ -24,3 +26,5 @@ config LED_GPIO GPIOs may be on the SoC or some other device which provides GPIOs. The GPIO driver must used driver model. LEDs are configured using the device tree. + +endmenu diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 3b7f76a..f29a169 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -1,3 +1,9 @@ +# +# Multifunction miscellaneous devices +# + +menu "Multifunction device drivers" + config CMD_CROS_EC bool "Enable crosec command" depends on CROS_EC @@ -82,3 +88,5 @@ config RESET Each driver can provide a reset method which will be called to effect a reset. The uclass will try all available drivers when reset_walk() is called. + +endmenu diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index bd63621..b5d9048 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1,3 +1,9 @@ +# +# RTC drivers configuration +# + +menu "Real Time Clock" + config DM_RTC bool "Enable Driver Model for RTC drivers" depends on DM @@ -6,3 +12,5 @@ config DM_RTC then provides the rtc_get()/rtc_set() interface, delegating to drivers to perform the actual functions. See rtc.h for a description of the API. + +endmenu diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 4829284..b87eb01 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -1,3 +1,9 @@ +# +# Serial device configuration +# + +menu "Serial drivers" + config DM_SERIAL bool "Enable Driver Model for serial drivers" depends on DM @@ -102,3 +108,5 @@ config UNIPHIER_SERIAL help If you have a UniPhier based board and want to use the on-chip serial ports, say Y to this option. If unsure, say N. + +endmenu diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig index 3b96e84..5de86c0 100644 --- a/drivers/sound/Kconfig +++ b/drivers/sound/Kconfig @@ -1,3 +1,5 @@ +menu "Sound support" + config SOUND bool "Enable sound support" help @@ -53,3 +55,5 @@ config SOUND_WM8994 Enable the wm8994 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works with the Samsung I2S driver. + +endmenu diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 3fa5b2e..19b1b3d 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -1,3 +1,9 @@ +# +# USB device configuration +# + +menu "USB support" + config USB_ARCH_HAS_HCD def_bool y
@@ -60,3 +66,5 @@ config USB_STORAGE board's USB port.
endif + +endmenu diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9ae23e8..892781d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1,3 +1,9 @@ +# +# Video configuration +# + +menu "Graphics support" + config VIDEO_VESA bool "Enable VESA video driver support" default n @@ -240,3 +246,5 @@ config VIDEO_TEGRA124 HDMI. At present only eDP is supported by U-Boot. This option enables this support which can be used on devices which have an eDP display connected. + +endmenu

Hi,
Le dimanche 26 juillet 2015 à 02:46 +0900, Masahiro Yamada a écrit :
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
That looks like a valuable addition to me!
I had started dealing with the USB side of this in a series currently under review. I'll drop the USB bits from my series and base the next version on top of this patch.
Thanks!
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
drivers/core/Kconfig | 4 ++++ drivers/crypto/Kconfig | 4 ++++ drivers/demo/Kconfig | 4 ++++ drivers/gpio/Kconfig | 8 ++++++++ drivers/i2c/Kconfig | 8 ++++++++ drivers/led/Kconfig | 4 ++++ drivers/misc/Kconfig | 8 ++++++++ drivers/rtc/Kconfig | 8 ++++++++ drivers/serial/Kconfig | 8 ++++++++ drivers/sound/Kconfig | 4 ++++ drivers/usb/Kconfig | 8 ++++++++ drivers/video/Kconfig | 8 ++++++++ 12 files changed, 76 insertions(+)
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index e40372d..9cc888d 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -1,3 +1,5 @@ +menu "Generic Driver Options"
config DM bool "Enable Driver Model" help @@ -59,3 +61,5 @@ config DM_SEQ_ALIAS Most boards will have a '/aliases' node containing the path to numbered devices (e.g. serial0 = &serial0). This feature can be disabled if it is not required, to save code space in SPL.
+endmenu diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index bd26a2b..1ea116b 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -1 +1,5 @@ +menu "Hardware crypto devices"
source drivers/crypto/fsl/Kconfig
+endmenu diff --git a/drivers/demo/Kconfig b/drivers/demo/Kconfig index 7a8ce18..98bb633 100644 --- a/drivers/demo/Kconfig +++ b/drivers/demo/Kconfig @@ -1,3 +1,5 @@ +menu "Demo for driver model"
config DM_DEMO bool "Enable demo uclass support" depends on DM @@ -24,3 +26,5 @@ config DM_DEMO_SHAPE a shape when the 'demo hello' command is executed which targets this device. It can be used to help understand how driver model works.
+endmenu diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 0c43777..5934597 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,3 +1,9 @@ +# +# GPIO infrastructure and drivers +#
+menu "GPIO Support"
config DM_GPIO bool "Enable Driver Model for GPIO drivers" depends on DM @@ -42,3 +48,5 @@ config VYBRID_GPIO default n help Say yes here to support Vybrid vf610 GPIOs.
+endmenu diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 86fb36b..b8b2250 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -1,3 +1,9 @@ +# +# I2C subsystem configuration +#
+menu "I2C support"
config DM_I2C bool "Enable Driver Model for I2C drivers" depends on DM @@ -73,3 +79,5 @@ config SYS_I2C_UNIPHIER_F help Support for UniPhier FIFO-builtin I2C controller driver. This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
+endmenu diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index de5feea..b21bc94 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -1,3 +1,5 @@ +menu "LED Support"
config LED bool "Enable LED support" depends on DM @@ -24,3 +26,5 @@ config LED_GPIO GPIOs may be on the SoC or some other device which provides GPIOs. The GPIO driver must used driver model. LEDs are configured using the device tree.
+endmenu diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 3b7f76a..f29a169 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -1,3 +1,9 @@ +# +# Multifunction miscellaneous devices +#
+menu "Multifunction device drivers"
config CMD_CROS_EC bool "Enable crosec command" depends on CROS_EC @@ -82,3 +88,5 @@ config RESET Each driver can provide a reset method which will be called to effect a reset. The uclass will try all available drivers when reset_walk() is called.
+endmenu diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index bd63621..b5d9048 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1,3 +1,9 @@ +# +# RTC drivers configuration +#
+menu "Real Time Clock"
config DM_RTC bool "Enable Driver Model for RTC drivers" depends on DM @@ -6,3 +12,5 @@ config DM_RTC then provides the rtc_get()/rtc_set() interface, delegating to drivers to perform the actual functions. See rtc.h for a description of the API.
+endmenu diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 4829284..b87eb01 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -1,3 +1,9 @@ +# +# Serial device configuration +#
+menu "Serial drivers"
config DM_SERIAL bool "Enable Driver Model for serial drivers" depends on DM @@ -102,3 +108,5 @@ config UNIPHIER_SERIAL help If you have a UniPhier based board and want to use the on-chip serial ports, say Y to this option. If unsure, say N.
+endmenu diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig index 3b96e84..5de86c0 100644 --- a/drivers/sound/Kconfig +++ b/drivers/sound/Kconfig @@ -1,3 +1,5 @@ +menu "Sound support"
config SOUND bool "Enable sound support" help @@ -53,3 +55,5 @@ config SOUND_WM8994 Enable the wm8994 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works with the Samsung I2S driver.
+endmenu diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 3fa5b2e..19b1b3d 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -1,3 +1,9 @@ +# +# USB device configuration +#
+menu "USB support"
config USB_ARCH_HAS_HCD def_bool y
@@ -60,3 +66,5 @@ config USB_STORAGE board's USB port.
endif
+endmenu diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9ae23e8..892781d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1,3 +1,9 @@ +# +# Video configuration +#
+menu "Graphics support"
config VIDEO_VESA bool "Enable VESA video driver support" default n @@ -240,3 +246,5 @@ config VIDEO_TEGRA124 HDMI. At present only eDP is supported by U-Boot. This option enables this support which can be used on devices which have an eDP display connected.
+endmenu

Hi,
Le lundi 27 juillet 2015 à 14:33 +0200, Paul Kocialkowski a écrit :
Le dimanche 26 juillet 2015 à 02:46 +0900, Masahiro Yamada a écrit :
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
That looks like a valuable addition to me!
This patch was submitted a week ago and I need it for merging another series of mine, that was already accepted.
Is there anything preventing this patch from being merged at this point?
Thanks!
I had started dealing with the USB side of this in a series currently under review. I'll drop the USB bits from my series and base the next version on top of this patch.
Thanks!
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
drivers/core/Kconfig | 4 ++++ drivers/crypto/Kconfig | 4 ++++ drivers/demo/Kconfig | 4 ++++ drivers/gpio/Kconfig | 8 ++++++++ drivers/i2c/Kconfig | 8 ++++++++ drivers/led/Kconfig | 4 ++++ drivers/misc/Kconfig | 8 ++++++++ drivers/rtc/Kconfig | 8 ++++++++ drivers/serial/Kconfig | 8 ++++++++ drivers/sound/Kconfig | 4 ++++ drivers/usb/Kconfig | 8 ++++++++ drivers/video/Kconfig | 8 ++++++++ 12 files changed, 76 insertions(+)
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index e40372d..9cc888d 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -1,3 +1,5 @@ +menu "Generic Driver Options"
config DM bool "Enable Driver Model" help @@ -59,3 +61,5 @@ config DM_SEQ_ALIAS Most boards will have a '/aliases' node containing the path to numbered devices (e.g. serial0 = &serial0). This feature can be disabled if it is not required, to save code space in SPL.
+endmenu diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index bd26a2b..1ea116b 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -1 +1,5 @@ +menu "Hardware crypto devices"
source drivers/crypto/fsl/Kconfig
+endmenu diff --git a/drivers/demo/Kconfig b/drivers/demo/Kconfig index 7a8ce18..98bb633 100644 --- a/drivers/demo/Kconfig +++ b/drivers/demo/Kconfig @@ -1,3 +1,5 @@ +menu "Demo for driver model"
config DM_DEMO bool "Enable demo uclass support" depends on DM @@ -24,3 +26,5 @@ config DM_DEMO_SHAPE a shape when the 'demo hello' command is executed which targets this device. It can be used to help understand how driver model works.
+endmenu diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 0c43777..5934597 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,3 +1,9 @@ +# +# GPIO infrastructure and drivers +#
+menu "GPIO Support"
config DM_GPIO bool "Enable Driver Model for GPIO drivers" depends on DM @@ -42,3 +48,5 @@ config VYBRID_GPIO default n help Say yes here to support Vybrid vf610 GPIOs.
+endmenu diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 86fb36b..b8b2250 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -1,3 +1,9 @@ +# +# I2C subsystem configuration +#
+menu "I2C support"
config DM_I2C bool "Enable Driver Model for I2C drivers" depends on DM @@ -73,3 +79,5 @@ config SYS_I2C_UNIPHIER_F help Support for UniPhier FIFO-builtin I2C controller driver. This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
+endmenu diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index de5feea..b21bc94 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -1,3 +1,5 @@ +menu "LED Support"
config LED bool "Enable LED support" depends on DM @@ -24,3 +26,5 @@ config LED_GPIO GPIOs may be on the SoC or some other device which provides GPIOs. The GPIO driver must used driver model. LEDs are configured using the device tree.
+endmenu diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 3b7f76a..f29a169 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -1,3 +1,9 @@ +# +# Multifunction miscellaneous devices +#
+menu "Multifunction device drivers"
config CMD_CROS_EC bool "Enable crosec command" depends on CROS_EC @@ -82,3 +88,5 @@ config RESET Each driver can provide a reset method which will be called to effect a reset. The uclass will try all available drivers when reset_walk() is called.
+endmenu diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index bd63621..b5d9048 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1,3 +1,9 @@ +# +# RTC drivers configuration +#
+menu "Real Time Clock"
config DM_RTC bool "Enable Driver Model for RTC drivers" depends on DM @@ -6,3 +12,5 @@ config DM_RTC then provides the rtc_get()/rtc_set() interface, delegating to drivers to perform the actual functions. See rtc.h for a description of the API.
+endmenu diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 4829284..b87eb01 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -1,3 +1,9 @@ +# +# Serial device configuration +#
+menu "Serial drivers"
config DM_SERIAL bool "Enable Driver Model for serial drivers" depends on DM @@ -102,3 +108,5 @@ config UNIPHIER_SERIAL help If you have a UniPhier based board and want to use the on-chip serial ports, say Y to this option. If unsure, say N.
+endmenu diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig index 3b96e84..5de86c0 100644 --- a/drivers/sound/Kconfig +++ b/drivers/sound/Kconfig @@ -1,3 +1,5 @@ +menu "Sound support"
config SOUND bool "Enable sound support" help @@ -53,3 +55,5 @@ config SOUND_WM8994 Enable the wm8994 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works with the Samsung I2S driver.
+endmenu diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 3fa5b2e..19b1b3d 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -1,3 +1,9 @@ +# +# USB device configuration +#
+menu "USB support"
config USB_ARCH_HAS_HCD def_bool y
@@ -60,3 +66,5 @@ config USB_STORAGE board's USB port.
endif
+endmenu diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9ae23e8..892781d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1,3 +1,9 @@ +# +# Video configuration +#
+menu "Graphics support"
config VIDEO_VESA bool "Enable VESA video driver support" default n @@ -240,3 +246,5 @@ config VIDEO_TEGRA124 HDMI. At present only eDP is supported by U-Boot. This option enables this support which can be used on devices which have an eDP display connected.
+endmenu
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Saturday, August 01, 2015 at 11:08:10 AM, Paul Kocialkowski wrote:
Hi,
Le lundi 27 juillet 2015 à 14:33 +0200, Paul Kocialkowski a écrit :
Le dimanche 26 juillet 2015 à 02:46 +0900, Masahiro Yamada a écrit :
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
That looks like a valuable addition to me!
This patch was submitted a week ago and I need it for merging another series of mine, that was already accepted.
Is there anything preventing this patch from being merged at this point?
People not having just one patch on their plate and thus being busy ;-)
Best regards, Marek Vasut

Le samedi 01 août 2015 à 17:18 +0200, Marek Vasut a écrit :
On Saturday, August 01, 2015 at 11:08:10 AM, Paul Kocialkowski wrote:
Hi,
Le lundi 27 juillet 2015 à 14:33 +0200, Paul Kocialkowski a écrit :
Le dimanche 26 juillet 2015 à 02:46 +0900, Masahiro Yamada a écrit :
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
That looks like a valuable addition to me!
This patch was submitted a week ago and I need it for merging another series of mine, that was already accepted.
Is there anything preventing this patch from being merged at this point?
People not having just one patch on their plate and thus being busy ;-)
Of course, I'm just sending this as a reminder, to get the discussion started on this patch. I know that everyone's busy around here and I fully understand that the process takes some time. Still, I believe a reminder once in a while (a week seems fair enough) is good thing, too!

Hi Masahiro,
On Sun, Jul 26, 2015 at 1:46 AM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
drivers/core/Kconfig | 4 ++++ drivers/crypto/Kconfig | 4 ++++ drivers/demo/Kconfig | 4 ++++ drivers/gpio/Kconfig | 8 ++++++++ drivers/i2c/Kconfig | 8 ++++++++ drivers/led/Kconfig | 4 ++++ drivers/misc/Kconfig | 8 ++++++++ drivers/rtc/Kconfig | 8 ++++++++ drivers/serial/Kconfig | 8 ++++++++ drivers/sound/Kconfig | 4 ++++ drivers/usb/Kconfig | 8 ++++++++ drivers/video/Kconfig | 8 ++++++++ 12 files changed, 76 insertions(+)
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index e40372d..9cc888d 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -1,3 +1,5 @@ +menu "Generic Driver Options"
config DM bool "Enable Driver Model" help @@ -59,3 +61,5 @@ config DM_SEQ_ALIAS Most boards will have a '/aliases' node containing the path to numbered devices (e.g. serial0 = &serial0). This feature can be disabled if it is not required, to save code space in SPL.
+endmenu diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index bd26a2b..1ea116b 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -1 +1,5 @@ +menu "Hardware crypto devices"
source drivers/crypto/fsl/Kconfig
+endmenu diff --git a/drivers/demo/Kconfig b/drivers/demo/Kconfig index 7a8ce18..98bb633 100644 --- a/drivers/demo/Kconfig +++ b/drivers/demo/Kconfig @@ -1,3 +1,5 @@ +menu "Demo for driver model"
config DM_DEMO bool "Enable demo uclass support" depends on DM @@ -24,3 +26,5 @@ config DM_DEMO_SHAPE a shape when the 'demo hello' command is executed which targets this device. It can be used to help understand how driver model works.
+endmenu diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 0c43777..5934597 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,3 +1,9 @@ +# +# GPIO infrastructure and drivers +#
+menu "GPIO Support"
config DM_GPIO bool "Enable Driver Model for GPIO drivers" depends on DM @@ -42,3 +48,5 @@ config VYBRID_GPIO default n help Say yes here to support Vybrid vf610 GPIOs.
+endmenu diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 86fb36b..b8b2250 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -1,3 +1,9 @@ +# +# I2C subsystem configuration +#
+menu "I2C support"
config DM_I2C bool "Enable Driver Model for I2C drivers" depends on DM @@ -73,3 +79,5 @@ config SYS_I2C_UNIPHIER_F help Support for UniPhier FIFO-builtin I2C controller driver. This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
+endmenu diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index de5feea..b21bc94 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -1,3 +1,5 @@ +menu "LED Support"
config LED bool "Enable LED support" depends on DM @@ -24,3 +26,5 @@ config LED_GPIO GPIOs may be on the SoC or some other device which provides GPIOs. The GPIO driver must used driver model. LEDs are configured using the device tree.
+endmenu diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 3b7f76a..f29a169 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -1,3 +1,9 @@ +# +# Multifunction miscellaneous devices +#
+menu "Multifunction device drivers"
config CMD_CROS_EC bool "Enable crosec command" depends on CROS_EC @@ -82,3 +88,5 @@ config RESET Each driver can provide a reset method which will be called to effect a reset. The uclass will try all available drivers when reset_walk() is called.
+endmenu diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index bd63621..b5d9048 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1,3 +1,9 @@ +# +# RTC drivers configuration +#
+menu "Real Time Clock"
config DM_RTC bool "Enable Driver Model for RTC drivers" depends on DM @@ -6,3 +12,5 @@ config DM_RTC then provides the rtc_get()/rtc_set() interface, delegating to drivers to perform the actual functions. See rtc.h for a description of the API.
+endmenu diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 4829284..b87eb01 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -1,3 +1,9 @@ +# +# Serial device configuration +#
+menu "Serial drivers"
config DM_SERIAL bool "Enable Driver Model for serial drivers" depends on DM @@ -102,3 +108,5 @@ config UNIPHIER_SERIAL help If you have a UniPhier based board and want to use the on-chip serial ports, say Y to this option. If unsure, say N.
+endmenu diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig index 3b96e84..5de86c0 100644 --- a/drivers/sound/Kconfig +++ b/drivers/sound/Kconfig @@ -1,3 +1,5 @@ +menu "Sound support"
config SOUND bool "Enable sound support" help @@ -53,3 +55,5 @@ config SOUND_WM8994 Enable the wm8994 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works with the Samsung I2S driver.
+endmenu diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 3fa5b2e..19b1b3d 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -1,3 +1,9 @@ +# +# USB device configuration +#
+menu "USB support"
config USB_ARCH_HAS_HCD def_bool y
@@ -60,3 +66,5 @@ config USB_STORAGE board's USB port.
endif
+endmenu diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9ae23e8..892781d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1,3 +1,9 @@ +# +# Video configuration +#
+menu "Graphics support"
config VIDEO_VESA bool "Enable VESA video driver support" default n @@ -240,3 +246,5 @@ config VIDEO_TEGRA124 HDMI. At present only eDP is supported by U-Boot. This option enables this support which can be used on devices which have an eDP display connected.
+endmenu
With this patch, there are still single entries under Device Drivers main menu like:
[] Enable clock driver support [] Enable CPU drivers using Driver Model [] Enable Driver Model for Ethernet drivers [] Network device support ---- [] Enable Chrome OS EC keyboard support [] Enable sandbox TPM driver [] Enable RAM drivers using Driver Model [] Driver support for thermal devices
Can we make those into sub-menus as well?
Regards, Bin

Hi Bin,
Looks like I missed some items.. Anyway, they do not have many drivers below them, so menuconfig is not so messy.
Do you want me send v2, or will you send a follow-up patch?
2015-08-01 20:11 GMT+09:00 Bin Meng bmeng.cn@gmail.com:
Hi Masahiro,
On Sun, Jul 26, 2015 at 1:46 AM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
drivers/core/Kconfig | 4 ++++ drivers/crypto/Kconfig | 4 ++++ drivers/demo/Kconfig | 4 ++++ drivers/gpio/Kconfig | 8 ++++++++ drivers/i2c/Kconfig | 8 ++++++++ drivers/led/Kconfig | 4 ++++ drivers/misc/Kconfig | 8 ++++++++ drivers/rtc/Kconfig | 8 ++++++++ drivers/serial/Kconfig | 8 ++++++++ drivers/sound/Kconfig | 4 ++++ drivers/usb/Kconfig | 8 ++++++++ drivers/video/Kconfig | 8 ++++++++ 12 files changed, 76 insertions(+)
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig index e40372d..9cc888d 100644 --- a/drivers/core/Kconfig +++ b/drivers/core/Kconfig @@ -1,3 +1,5 @@ +menu "Generic Driver Options"
config DM bool "Enable Driver Model" help @@ -59,3 +61,5 @@ config DM_SEQ_ALIAS Most boards will have a '/aliases' node containing the path to numbered devices (e.g. serial0 = &serial0). This feature can be disabled if it is not required, to save code space in SPL.
+endmenu diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index bd26a2b..1ea116b 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -1 +1,5 @@ +menu "Hardware crypto devices"
source drivers/crypto/fsl/Kconfig
+endmenu diff --git a/drivers/demo/Kconfig b/drivers/demo/Kconfig index 7a8ce18..98bb633 100644 --- a/drivers/demo/Kconfig +++ b/drivers/demo/Kconfig @@ -1,3 +1,5 @@ +menu "Demo for driver model"
config DM_DEMO bool "Enable demo uclass support" depends on DM @@ -24,3 +26,5 @@ config DM_DEMO_SHAPE a shape when the 'demo hello' command is executed which targets this device. It can be used to help understand how driver model works.
+endmenu diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 0c43777..5934597 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,3 +1,9 @@ +# +# GPIO infrastructure and drivers +#
+menu "GPIO Support"
config DM_GPIO bool "Enable Driver Model for GPIO drivers" depends on DM @@ -42,3 +48,5 @@ config VYBRID_GPIO default n help Say yes here to support Vybrid vf610 GPIOs.
+endmenu diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 86fb36b..b8b2250 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -1,3 +1,9 @@ +# +# I2C subsystem configuration +#
+menu "I2C support"
config DM_I2C bool "Enable Driver Model for I2C drivers" depends on DM @@ -73,3 +79,5 @@ config SYS_I2C_UNIPHIER_F help Support for UniPhier FIFO-builtin I2C controller driver. This I2C controller is used on PH1-Pro4 or newer UniPhier SoCs.
+endmenu diff --git a/drivers/led/Kconfig b/drivers/led/Kconfig index de5feea..b21bc94 100644 --- a/drivers/led/Kconfig +++ b/drivers/led/Kconfig @@ -1,3 +1,5 @@ +menu "LED Support"
config LED bool "Enable LED support" depends on DM @@ -24,3 +26,5 @@ config LED_GPIO GPIOs may be on the SoC or some other device which provides GPIOs. The GPIO driver must used driver model. LEDs are configured using the device tree.
+endmenu diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 3b7f76a..f29a169 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -1,3 +1,9 @@ +# +# Multifunction miscellaneous devices +#
+menu "Multifunction device drivers"
config CMD_CROS_EC bool "Enable crosec command" depends on CROS_EC @@ -82,3 +88,5 @@ config RESET Each driver can provide a reset method which will be called to effect a reset. The uclass will try all available drivers when reset_walk() is called.
+endmenu diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index bd63621..b5d9048 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1,3 +1,9 @@ +# +# RTC drivers configuration +#
+menu "Real Time Clock"
config DM_RTC bool "Enable Driver Model for RTC drivers" depends on DM @@ -6,3 +12,5 @@ config DM_RTC then provides the rtc_get()/rtc_set() interface, delegating to drivers to perform the actual functions. See rtc.h for a description of the API.
+endmenu diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 4829284..b87eb01 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -1,3 +1,9 @@ +# +# Serial device configuration +#
+menu "Serial drivers"
config DM_SERIAL bool "Enable Driver Model for serial drivers" depends on DM @@ -102,3 +108,5 @@ config UNIPHIER_SERIAL help If you have a UniPhier based board and want to use the on-chip serial ports, say Y to this option. If unsure, say N.
+endmenu diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig index 3b96e84..5de86c0 100644 --- a/drivers/sound/Kconfig +++ b/drivers/sound/Kconfig @@ -1,3 +1,5 @@ +menu "Sound support"
config SOUND bool "Enable sound support" help @@ -53,3 +55,5 @@ config SOUND_WM8994 Enable the wm8994 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works with the Samsung I2S driver.
+endmenu diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 3fa5b2e..19b1b3d 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -1,3 +1,9 @@ +# +# USB device configuration +#
+menu "USB support"
config USB_ARCH_HAS_HCD def_bool y
@@ -60,3 +66,5 @@ config USB_STORAGE board's USB port.
endif
+endmenu diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9ae23e8..892781d 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1,3 +1,9 @@ +# +# Video configuration +#
+menu "Graphics support"
config VIDEO_VESA bool "Enable VESA video driver support" default n @@ -240,3 +246,5 @@ config VIDEO_TEGRA124 HDMI. At present only eDP is supported by U-Boot. This option enables this support which can be used on devices which have an eDP display connected.
+endmenu
With this patch, there are still single entries under Device Drivers main menu like:
[] Enable clock driver support [] Enable CPU drivers using Driver Model [] Enable Driver Model for Ethernet drivers [] Network device support ---- [] Enable Chrome OS EC keyboard support [] Enable sandbox TPM driver [] Enable RAM drivers using Driver Model [] Driver support for thermal devices
Can we make those into sub-menus as well?
Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Masahiro,
On Sat, Aug 1, 2015 at 9:27 PM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
Hi Bin,
Looks like I missed some items.. Anyway, they do not have many drivers below them, so menuconfig is not so messy.
Do you want me send v2, or will you send a follow-up patch?
I can send a follow-up patch.
2015-08-01 20:11 GMT+09:00 Bin Meng bmeng.cn@gmail.com:
Hi Masahiro,
On Sun, Jul 26, 2015 at 1:46 AM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
[snip]
With this patch, there are still single entries under Device Drivers main menu like:
[] Enable clock driver support [] Enable CPU drivers using Driver Model [] Enable Driver Model for Ethernet drivers [] Network device support ---- [] Enable Chrome OS EC keyboard support [] Enable sandbox TPM driver [] Enable RAM drivers using Driver Model [] Driver support for thermal devices
Can we make those into sub-menus as well?
Regards, Bin

On 25 July 2015 at 11:46, Masahiro Yamada yamada.masahiro@socionext.com wrote:
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
drivers/core/Kconfig | 4 ++++ drivers/crypto/Kconfig | 4 ++++ drivers/demo/Kconfig | 4 ++++ drivers/gpio/Kconfig | 8 ++++++++ drivers/i2c/Kconfig | 8 ++++++++ drivers/led/Kconfig | 4 ++++ drivers/misc/Kconfig | 8 ++++++++ drivers/rtc/Kconfig | 8 ++++++++ drivers/serial/Kconfig | 8 ++++++++ drivers/sound/Kconfig | 4 ++++ drivers/usb/Kconfig | 8 ++++++++ drivers/video/Kconfig | 8 ++++++++ 12 files changed, 76 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

On Sun, Jul 26, 2015 at 02:46:26AM +0900, Masahiro Yamada wrote:
The menuconfig for drivers are getting more and more cluttered and unreadable because too many entries are displayed in a single flat menu. Use hierarchic menu for each category.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
participants (6)
-
Bin Meng
-
Marek Vasut
-
Masahiro Yamada
-
Paul Kocialkowski
-
Simon Glass
-
Tom Rini