Browse Source

Kconfig: Add a new DISTRO_DEFAULTS Kconfig option

DISTRO_DEFAULTS is intended to mirror / replace
include/config_distro_defaults.h.

The intend is for boards which include this file to select this from
their Kconfig files and when moving setting to Kconfig which are #define-ed
in config_distro_defaults.h to select this from DISTRO_DEFAULTS so that
boards which have selected DISTRO_DEFAULTS will keep the same configuration
as before without needing any defconfig file changes.

The initial list of selected things matches all settings recently removed
from config_distro_defaults.h because they have been converted to Kconfig,
with the exception of CMD_ELF and CMD_NET, which have a default of y, if
the default of these ever changes they should be selected by DISTRO_DEFAULTS
too.

For testing and example purposes this commit also converts ARCH_SUNXI
to use DISTRO_DEFAULT instead of selecting everything it needs itself.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
tags/2020-06-01
Hans de Goede 5 years ago
committed by Tom Rini
parent
commit
9f823615af
3 changed files with 23 additions and 9 deletions
  1. +17
    -0
      Kconfig
  2. +0
    -9
      arch/arm/Kconfig
  3. +6
    -0
      doc/README.distro

+ 17
- 0
Kconfig View File

@@ -53,6 +53,23 @@ config CC_OPTIMIZE_FOR_SIZE

This option is enabled by default for U-Boot.

config DISTRO_DEFAULTS
bool "Select defaults suitable for booting general purpose Linux distributions"
default y if ARCH_SUNXI
default n
select CMD_BOOTZ
select CMD_DHCP
select CMD_EXT2
select CMD_EXT4
select CMD_FAT
select CMD_FS_GENERIC
select CMD_MII
select CMD_PING
select HUSH_PARSER
help
Select this to enable various options and commands which are suitable
for building u-boot for booting general purpose Linux distributions.

config SYS_MALLOC_F
bool "Enable malloc() pool before relocation"
default y if DM


+ 0
- 9
arch/arm/Kconfig View File

@@ -610,16 +610,8 @@ config TARGET_CM_T43

config ARCH_SUNXI
bool "Support sunxi (Allwinner) SoCs"
select CMD_BOOTZ
select CMD_DHCP
select CMD_EXT2
select CMD_EXT4
select CMD_FAT
select CMD_FS_GENERIC
select CMD_GPIO
select CMD_MII
select CMD_MMC if MMC
select CMD_PING
select CMD_USB
select DM
select DM_ETH
@@ -627,7 +619,6 @@ config ARCH_SUNXI
select DM_KEYBOARD
select DM_SERIAL
select DM_USB
select HUSH_PARSER
select OF_BOARD_SETUP
select OF_CONTROL
select OF_SEPARATE


+ 6
- 0
doc/README.distro View File

@@ -162,6 +162,12 @@ U-Boot Implementation
Enabling the distro options
---------------------------

In your board's defconfig, enable the DISTRO_DEFAULTS option by adding
a line with "CONFIG_DISTRO_DEFAULTS=y". If you want to enable this
from Kconfig itself, for e.g. all boards using a specific SoC then
add a "default y if ARCH_FOO" to the DISTRO_DEFAULTS section of
the Kconfig file in the root of the u-boot sources.

In your board configuration file, include the following:

------------------------------------------------------------