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

Simon Glass
2015-04-08T14:01:51Z

On 7 April 2015 at 20:50, Simon Glass <sjg@chromium.org> wrote:
> 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>

Applied to u-boot-dm/next, thanks!