Skip to contentSkip to conversation

drivers: hierarchize drivers Kconfig menu

PATCH In review Masahiro Yamada 6 participants 10 messages Jul 25, 2015 – Aug 13, 2015

Subsystems (7)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---

 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(+)
drivers/core/Kconfig +4 -0
index e40372d..9cc888d 100644
@@ -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
drivers/crypto/Kconfig +4 -0
index bd26a2b..1ea116b 100644
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
drivers/demo/Kconfig +4 -0
index 7a8ce18..98bb633 100644
@@ -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
drivers/gpio/Kconfig +8 -0
index 0c43777..5934597 100644
@@ -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
drivers/i2c/Kconfig +8 -0
index 86fb36b..b8b2250 100644
@@ -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
drivers/led/Kconfig +4 -0
index de5feea..b21bc94 100644
@@ -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
drivers/misc/Kconfig +8 -0
index 3b7f76a..f29a169 100644
@@ -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
drivers/rtc/Kconfig +8 -0
index bd63621..b5d9048 100644
@@ -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
drivers/serial/Kconfig +8 -0
index 4829284..b87eb01 100644
@@ -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
drivers/sound/Kconfig +4 -0
index 3b96e84..5de86c0 100644
@@ -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
drivers/usb/Kconfig +8 -0
index 3fa5b2e..19b1b3d 100644
@@ -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
drivers/video/Kconfig +8 -0
index 9ae23e8..892781d 100644
@@ -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
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

Hi,

Le dimanche 26 juillet 2015 ? 02:46 +0900, Masahiro Yamada a ?crit :

Quoted 3 lines

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!

Quoted 226 lines

---

 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(+)
drivers/core/Kconfig +4 -0
index e40372d..9cc888d 100644
@@ -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
drivers/crypto/Kconfig +4 -0
index bd26a2b..1ea116b 100644
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
drivers/demo/Kconfig +4 -0
index 7a8ce18..98bb633 100644
@@ -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
drivers/gpio/Kconfig +8 -0
index 0c43777..5934597 100644
@@ -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
drivers/i2c/Kconfig +8 -0
index 86fb36b..b8b2250 100644
@@ -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
drivers/led/Kconfig +4 -0
index de5feea..b21bc94 100644
@@ -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
drivers/misc/Kconfig +8 -0
index 3b7f76a..f29a169 100644
@@ -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
drivers/rtc/Kconfig +8 -0
index bd63621..b5d9048 100644
@@ -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
drivers/serial/Kconfig +8 -0
index 4829284..b87eb01 100644
@@ -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
drivers/sound/Kconfig +4 -0
index 3b96e84..5de86c0 100644
@@ -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
drivers/usb/Kconfig +8 -0
index 3fa5b2e..19b1b3d 100644
@@ -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
drivers/video/Kconfig +6 -0
index 9ae23e8..892781d 100644
@@ -1,3 +1,9 @@
+#
+# Video configuration
+#
+
+menu "Graphics support"
+
 config VIDEO_VESA
 	bool "Enable VESA video driver support"
 	default n

drivers/video/Kconfig config VIDEO_TEGRA124 · line 250

Quoted 5 lines
drivers/video/Kconfig +2 -0
@@ -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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150727/65ff3357/attachment.sig>

#2 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

Hi,

Le lundi 27 juillet 2015 ? 14:33 +0200, Paul Kocialkowski a ?crit :

Quoted 6 lines

Le dimanche 26 juillet 2015 ? 02:46 +0900, Masahiro Yamada a ?crit :

Quoted 3 lines

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!

Quoted 234 lines

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!

Quoted 228 lines

---

 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(+)
drivers/core/Kconfig +4 -0
index e40372d..9cc888d 100644
@@ -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
drivers/crypto/Kconfig +4 -0
index bd26a2b..1ea116b 100644
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
drivers/demo/Kconfig +4 -0
index 7a8ce18..98bb633 100644
@@ -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
drivers/gpio/Kconfig +8 -0
index 0c43777..5934597 100644
@@ -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
drivers/i2c/Kconfig +8 -0
index 86fb36b..b8b2250 100644
@@ -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
drivers/led/Kconfig +4 -0
index de5feea..b21bc94 100644
@@ -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
drivers/misc/Kconfig +8 -0
index 3b7f76a..f29a169 100644
@@ -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
drivers/rtc/Kconfig +8 -0
index bd63621..b5d9048 100644
@@ -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
drivers/serial/Kconfig +8 -0
index 4829284..b87eb01 100644
@@ -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
drivers/sound/Kconfig +4 -0
index 3b96e84..5de86c0 100644
@@ -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
drivers/usb/Kconfig +8 -0
index 3fa5b2e..19b1b3d 100644
@@ -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
drivers/video/Kconfig +6 -0
index 9ae23e8..892781d 100644
@@ -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
Quoted 8 lines

drivers/video/Kconfig config VIDEO_TEGRA124 · line 250

Quoted 3 lines
drivers/video/Kconfig +2 -0
 	   have an eDP display connected.
+
+endmenu

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150801/694ee1bc/attachment.sig>

#3 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

Quoted 8 lines · Paul Kocialkowski

Hi,

Le lundi 27 juillet 2015 ? 14:33 +0200, Paul Kocialkowski a ?crit :

Quoted 5 lines

Le dimanche 26 juillet 2015 ? 02:46 +0900, Masahiro Yamada a ?crit :

Quoted 3 lines

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.

Quoted 6 lines
Quoted 1 line

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

#4 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

Le samedi 01 ao?t 2015 ? 17:18 +0200, Marek Vasut a ?crit :

Quoted 9 lines · Paul Kocialkowski
Quoted 8 lines

Hi,

Le lundi 27 juillet 2015 ? 14:33 +0200, Paul Kocialkowski a ?crit :

Quoted 5 lines

Le dimanche 26 juillet 2015 ? 02:46 +0900, Masahiro Yamada a ?crit :

Quoted 3 lines

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.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

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!

Signature · 16 lines
Paul Kocialkowski, Replicant developer

Replicant is a fully free Android distribution running on several
devices, a free software mobile operating system putting the emphasis on
freedom and privacy/security.

Website: http://www.replicant.us/
Blog: http://blog.replicant.us/
Wiki/tracker/forums: http://redmine.replicant.us/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150801/7097b7d7/attachment.sig>
#5 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

In reply to Masahiro Yamada

Hi Masahiro,

Quoted 230 lines · Masahiro Yamada

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.

---

 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(+)
drivers/core/Kconfig +4 -0
index e40372d..9cc888d 100644
@@ -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
drivers/crypto/Kconfig +4 -0
index bd26a2b..1ea116b 100644
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
drivers/demo/Kconfig +4 -0
index 7a8ce18..98bb633 100644
@@ -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
drivers/gpio/Kconfig +8 -0
index 0c43777..5934597 100644
@@ -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
drivers/i2c/Kconfig +8 -0
index 86fb36b..b8b2250 100644
@@ -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
drivers/led/Kconfig +4 -0
index de5feea..b21bc94 100644
@@ -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
drivers/misc/Kconfig +8 -0
index 3b7f76a..f29a169 100644
@@ -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
drivers/rtc/Kconfig +8 -0
index bd63621..b5d9048 100644
@@ -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
drivers/serial/Kconfig +8 -0
index 4829284..b87eb01 100644
@@ -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
drivers/sound/Kconfig +4 -0
index 3b96e84..5de86c0 100644
@@ -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
drivers/usb/Kconfig +8 -0
index 3fa5b2e..19b1b3d 100644
@@ -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
drivers/video/Kconfig +6 -0
index 9ae23e8..892781d 100644
@@ -1,3 +1,9 @@
+#
+# Video configuration
+#
+
+menu "Graphics support"
+
 config VIDEO_VESA
        bool "Enable VESA video driver support"
        default n

drivers/video/Kconfig config VIDEO_TEGRA124

Quoted 6 lines
drivers/video/Kconfig +2 -1
@@ -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

#6 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

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 <[email protected]>:

Quoted 261 lines

Hi Masahiro,

Quoted 230 lines · Masahiro Yamada

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.

---

 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(+)
drivers/core/Kconfig +4 -0
index e40372d..9cc888d 100644
@@ -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
drivers/crypto/Kconfig +4 -0
index bd26a2b..1ea116b 100644
@@ -1 +1,5 @@
+menu "Hardware crypto devices"
+
 source drivers/crypto/fsl/Kconfig
+
+endmenu
drivers/demo/Kconfig +4 -0
index 7a8ce18..98bb633 100644
@@ -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
drivers/gpio/Kconfig +8 -0
index 0c43777..5934597 100644
@@ -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
drivers/i2c/Kconfig +8 -0
index 86fb36b..b8b2250 100644
@@ -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
drivers/led/Kconfig +4 -0
index de5feea..b21bc94 100644
@@ -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
drivers/misc/Kconfig +8 -0
index 3b7f76a..f29a169 100644
@@ -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
drivers/rtc/Kconfig +8 -0
index bd63621..b5d9048 100644
@@ -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
drivers/serial/Kconfig +8 -0
index 4829284..b87eb01 100644
@@ -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
drivers/sound/Kconfig +4 -0
index 3b96e84..5de86c0 100644
@@ -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
drivers/usb/Kconfig +8 -0
index 3fa5b2e..19b1b3d 100644
@@ -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
drivers/video/Kconfig +6 -0
index 9ae23e8..892781d 100644
@@ -1,3 +1,9 @@
+#
+# Video configuration
+#
+
+menu "Graphics support"
+
 config VIDEO_VESA
        bool "Enable VESA video driver support"
        default n

drivers/video/Kconfig config VIDEO_TEGRA124

Quoted 6 lines
drivers/video/Kconfig +2 -1
@@ -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 at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Signature · 2 lines
Best Regards
Masahiro Yamada
#7 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

Hi Masahiro,

Quoted 11 lines · Masahiro Yamada

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.

Quoted 13 lines

2015-08-01 20:11 GMT+09:00 Bin Meng <[email protected]>:

Quoted 10 lines

Hi Masahiro,

Quoted 6 lines · Masahiro Yamada

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.

---

[snip]

Quoted 12 lines
Quoted 12 lines

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

Quoted 2 lines
Quoted 2 lines

Can we make those into sub-menus as well?

Regards,
Bin

#8 lore raw

PATCH 1/1 drivers: hierarchize drivers Kconfig menu

In reply to Masahiro Yamada
Quoted 7 lines · Masahiro Yamada

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.

---

Quoted 13 lines
 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(+)
#9 lore raw
In reply to Masahiro Yamada
Quoted 6 lines · Masahiro Yamada

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.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/213d642e/attachment.sig>