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

Masahiro Yamada yamada.masahiro at socionext.com
Sat Aug 1 15:27:32 CEST 2015


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 at gmail.com>:
> Hi Masahiro,
>
> On Sun, Jul 26, 2015 at 1:46 AM, Masahiro Yamada
> <yamada.masahiro at 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 at 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 at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list