[U-Boot] [PATCH 02/12] dm: select CONFIG_DM* options

Simon Glass
2015-04-08T02:50:12Z

On 30 March 2015 at 21:47, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> As mentioned in the previous commit, adding default values in each
> Kconfig causes problems because it does not co-exist with the
> "depends on" syntax. (Please note this is not a bug of Kconfig.)
> We should not do so unless we have a special reason. Actually,
> for CONFIG_DM*, we have no good reason to do so.
>
> Generally, CONFIG_DM is not a user-configurable option. Once we
> convert a driver into Driver Model, the board only works with Driver
> Model, i.e. CONFIG_DM must be always enabled for that board.
> So, using "select DM" is more suitable rather than allowing users to
> modify it. Another good thing is, Kconfig warns unmet dependencies
> for "select" syntax, so we easily notice bugs.
>
> Actually, CONFIG_DM and other related options have been added
> without consistency: some into arch/*/Kconfig, some into
> board/*/Kconfig, and some into configs/*_defconfig.
>
> This commit prefers "select" and cleans up the following issues.
>
> [1] Never use "CONFIG_DM=n" in defconfig files
>
> It is really rare to add "CONFIG_FOO=n" to disable CONFIG options.
> It is more common to use "# CONFIG_FOO is not set". But here, we
> do not even have to do it.
> Less than half of OMAP3 boards have been converted to Driver Model.
> Adding the default values to arch/arm/cpu/armv7/omap3/Kconfig is
> weird. Instead, add "select DM" only to appropriate boards, which
> eventually eliminates "CONFIG_DM=n", etc.
>
> [2] Delete redundant CONFIGs
>
> Sandbox sets CONFIG_DM in arch/sandbox/Kconfig and defines it again
> in configs/sandbox_defconfig.
> Likewise, OMAP3 sets CONFIG_DM arch/arm/cpu/armv7/omap3/Kconfig and
> defines it also in omap3_beagle_defconfig and devkit8000_defconfig.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> arch/Kconfig | 9 ++++++++
> arch/arm/Kconfig | 35 ++++++++++++++++++++++++++++++++
> arch/arm/cpu/armv7/exynos/Kconfig | 15 --------------
> arch/arm/cpu/armv7/omap3/Kconfig | 27 ++++++++++++++++--------
> arch/arm/mach-bcm283x/Kconfig | 9 --------
> arch/arm/mach-tegra/Kconfig | 18 ----------------
> arch/powerpc/cpu/ppc4xx/Kconfig | 2 ++
> arch/sandbox/Kconfig | 18 ----------------
> arch/x86/Kconfig | 9 --------
> board/amcc/canyonlands/Kconfig | 6 ------
> board/compulab/cm_t335/Kconfig | 9 --------
> board/gumstix/pepper/Kconfig | 9 --------
> board/isee/igep0033/Kconfig | 9 --------
> board/phytec/pcm051/Kconfig | 9 --------
> board/samsung/goni/Kconfig | 9 --------
> board/samsung/smdkc100/Kconfig | 9 --------
> board/silica/pengwyn/Kconfig | 9 --------
> board/ti/am335x/Kconfig | 9 --------
> configs/am335x_boneblack_vboot_defconfig | 1 -
> configs/am3517_crane_defconfig | 3 ---
> configs/am3517_evm_defconfig | 3 ---
> configs/cm_t3517_defconfig | 3 ---
> configs/cm_t35_defconfig | 3 ---
> configs/devkit8000_defconfig | 3 ---
> configs/dig297_defconfig | 3 ---
> configs/eco5pk_defconfig | 3 ---
> configs/mcx_defconfig | 3 ---
> configs/mt_ventoux_defconfig | 3 ---
> configs/nokia_rx51_defconfig | 3 ---
> configs/omap3_beagle_defconfig | 3 ---
> configs/omap3_evm_defconfig | 3 ---
> configs/omap3_evm_quick_mmc_defconfig | 3 ---
> configs/omap3_evm_quick_nand_defconfig | 3 ---
> configs/omap3_ha_defconfig | 3 ---
> configs/omap3_logic_defconfig | 3 ---
> configs/omap3_mvblx_defconfig | 3 ---
> configs/omap3_pandora_defconfig | 3 ---
> configs/omap3_sdp3430_defconfig | 3 ---
> configs/sandbox_defconfig | 1 -
> configs/tao3530_defconfig | 3 ---
> configs/tricorder_defconfig | 3 ---
> configs/tricorder_flash_defconfig | 3 ---
> configs/twister_defconfig | 3 ---
> 43 files changed, 64 insertions(+), 227 deletions(-)

Acked-by: Simon Glass <sjg@chromium.org>