As we discussed a couple of times, negative CONFIG options make our life difficult; CONFIG_SYS_NO_FLASH, CONFIG_SYS_DCACHE_OFF, ... and here is another one.
Now, there are actually two boards enabling OF_CONTROL on SPL: - socfpga_arria5_defconfig - socfpga_cyclone5_defconfig But they were enabled by mistake. Commit 47a785a9dd97 ("dts: Disable device tree for SPL on all boards") missed to add CONFIG_SPL_DISABLE_OF_CONTROL on those two boards. They were silently enabled with OF_CONTROL on SPL without notifying their maintainers. After all, there exist no boards to support it in a justified process. Before being too late, delete all the defines in defconfig files and 'select's in Kconfig, and invert the logic. Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com> --- arch/arm/Kconfig | 4 ---- arch/arm/cpu/armv7/exynos/Kconfig | 8 -------- arch/arm/cpu/armv7/s5pc1xx/Kconfig | 2 -- common/spl/spl.c | 2 +- configs/am335x_boneblack_vboot_defconfig | 1 - configs/arches_defconfig | 1 - configs/canyonlands_defconfig | 1 - configs/galileo_defconfig | 1 - configs/microblaze-generic_defconfig | 1 - configs/odroid_defconfig | 1 - configs/origen_defconfig | 1 - configs/s5pc210_universal_defconfig | 1 - configs/socfpga_socrates_defconfig | 1 - configs/trats2_defconfig | 1 - configs/trats_defconfig | 1 - dts/Kconfig | 6 +++--- include/config_uncmd_spl.h | 2 +- include/fdtdec.h | 2 +- lib/Makefile | 8 +++++++- scripts/Makefile.uncmd_spl | 2 +- 20 files changed, 14 insertions(+), 33 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 103ad7a..c00d088 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -647,7 +647,6 @@ config ARCH_SUNXI select DM_GPIO select OF_CONTROL select OF_SEPARATE - select SPL_DISABLE_OF_CONTROL config TARGET_SNOWBALL bool "Support snowball" @@ -670,7 +669,6 @@ config ARCH_ZYNQ select CPU_V7 select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL select DM select DM_SPI select DM_SPI_FLASH @@ -684,7 +682,6 @@ config TEGRA select SUPPORT_SPL select SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL select CPU_V7 select DM select DM_SPI_FLASH @@ -806,7 +803,6 @@ config ARCH_UNIPHIER select DM select DM_SERIAL select DM_I2C - select SPL_DISABLE_OF_CONTROL help Support for UniPhier SoC family developed by Socionext Inc. (formerly, System LSI Business Division of Panasonic Corporation) diff --git a/arch/arm/cpu/armv7/exynos/Kconfig b/arch/arm/cpu/armv7/exynos/Kconfig index 4a7d82f..09cde42 100644 --- a/arch/arm/cpu/armv7/exynos/Kconfig +++ b/arch/arm/cpu/armv7/exynos/Kconfig @@ -8,7 +8,6 @@ config TARGET_SMDKV310 select SUPPORT_SPL bool "Exynos4210 SMDKV310 board" select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_TRATS bool "Exynos4210 Trats board" @@ -29,7 +28,6 @@ config TARGET_ODROID config TARGET_ODROID_XU3 bool "Exynos5422 Odroid board" select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_ARNDALE bool "Exynos5250 Arndale board" @@ -37,37 +35,31 @@ config TARGET_ARNDALE select CPU_V7_HAS_VIRT select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_SMDK5250 bool "SMDK5250 board" select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_SNOW bool "Snow board" select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_SMDK5420 bool "SMDK5420 board" select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_PEACH_PI bool "Peach Pi board" select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_PEACH_PIT bool "Peach Pit board" select SUPPORT_SPL select OF_CONTROL - select SPL_DISABLE_OF_CONTROL endchoice diff --git a/arch/arm/cpu/armv7/s5pc1xx/Kconfig b/arch/arm/cpu/armv7/s5pc1xx/Kconfig index 792ef59..04acdaa 100644 --- a/arch/arm/cpu/armv7/s5pc1xx/Kconfig +++ b/arch/arm/cpu/armv7/s5pc1xx/Kconfig @@ -7,12 +7,10 @@ choice config TARGET_S5P_GONI bool "S5P Goni board" select OF_CONTROL - select SPL_DISABLE_OF_CONTROL config TARGET_SMDKC100 bool "Support smdkc100 board" select OF_CONTROL - select SPL_DISABLE_OF_CONTROL endchoice diff --git a/common/spl/spl.c b/common/spl/spl.c index 94b01da..45cf925 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -158,7 +158,7 @@ int spl_init(void) gd->malloc_ptr = 0; #endif if (IS_ENABLED(CONFIG_OF_CONTROL) && - !IS_ENABLED(CONFIG_SPL_DISABLE_OF_CONTROL)) { + IS_ENABLED(CONFIG_SPL_OF_CONTROL)) { ret = fdtdec_setup(); if (ret) { debug("fdtdec_setup() returned error %d\n", ret); diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig index b141255..b52ddfd 100644 --- a/configs/am335x_boneblack_vboot_defconfig +++ b/configs/am335x_boneblack_vboot_defconfig @@ -12,5 +12,4 @@ CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT,ENABLE_VBOOT" # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_SPI_FLASH=y diff --git a/configs/arches_defconfig b/configs/arches_defconfig index f979a64..9084a3a 100644 --- a/configs/arches_defconfig +++ b/configs/arches_defconfig @@ -4,4 +4,3 @@ CONFIG_TARGET_CANYONLANDS=y CONFIG_ARCHES=y CONFIG_DEFAULT_DEVICE_TREE="arches" CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y diff --git a/configs/canyonlands_defconfig b/configs/canyonlands_defconfig index 09172b1..44d4fbd 100644 --- a/configs/canyonlands_defconfig +++ b/configs/canyonlands_defconfig @@ -4,5 +4,4 @@ CONFIG_TARGET_CANYONLANDS=y CONFIG_CANYONLANDS=y CONFIG_DEFAULT_DEVICE_TREE="canyonlands" CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_OF_EMBED=y diff --git a/configs/galileo_defconfig b/configs/galileo_defconfig index 1ced47e..14842f3 100644 --- a/configs/galileo_defconfig +++ b/configs/galileo_defconfig @@ -11,7 +11,6 @@ CONFIG_BOOTSTAGE=y CONFIG_BOOTSTAGE_REPORT=y CONFIG_CMD_BOOTSTAGE=y CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_SPI_FLASH=y CONFIG_NETDEVICES=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig index 8355c67..060a697 100644 --- a/configs/microblaze-generic_defconfig +++ b/configs/microblaze-generic_defconfig @@ -4,5 +4,4 @@ CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic" CONFIG_SPL=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_OF_EMBED=y diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig index 3104f88..0fb01e7 100644 --- a/configs/odroid_defconfig +++ b/configs/odroid_defconfig @@ -11,7 +11,6 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid" CONFIG_CMD_PMIC=y CONFIG_CMD_REGULATOR=y CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_DM_I2C=y CONFIG_DM_I2C_COMPAT=y CONFIG_DM_PMIC=y diff --git a/configs/origen_defconfig b/configs/origen_defconfig index 6961978..7e5a37c 100644 --- a/configs/origen_defconfig +++ b/configs/origen_defconfig @@ -10,6 +10,5 @@ CONFIG_SPL=y # CONFIG_CMD_NFS is not set # CONFIG_CMD_MISC is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_USB=y CONFIG_DM_USB=y diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig index 21a4708..999da4c 100644 --- a/configs/s5pc210_universal_defconfig +++ b/configs/s5pc210_universal_defconfig @@ -9,6 +9,5 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210" # CONFIG_CMD_NFS is not set # CONFIG_CMD_MISC is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_USB=y CONFIG_DM_USB=y diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig index 63dda73..140d300 100644 --- a/configs/socfpga_socrates_defconfig +++ b/configs/socfpga_socrates_defconfig @@ -6,7 +6,6 @@ CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_SPI_FLASH=y CONFIG_NETDEVICES=y CONFIG_ETH_DESIGNWARE=y diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig index f3cbe6d..f2452dc 100644 --- a/configs/trats2_defconfig +++ b/configs/trats2_defconfig @@ -10,6 +10,5 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2" # CONFIG_CMD_NFS is not set # CONFIG_CMD_MISC is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_USB=y CONFIG_DM_USB=y diff --git a/configs/trats_defconfig b/configs/trats_defconfig index 6553edb..f0ce56a 100644 --- a/configs/trats_defconfig +++ b/configs/trats_defconfig @@ -9,6 +9,5 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats" # CONFIG_CMD_NFS is not set # CONFIG_CMD_MISC is not set CONFIG_OF_CONTROL=y -CONFIG_SPL_DISABLE_OF_CONTROL=y CONFIG_USB=y CONFIG_DM_USB=y diff --git a/dts/Kconfig b/dts/Kconfig index 09cfefb..d72a909 100644 --- a/dts/Kconfig +++ b/dts/Kconfig @@ -14,9 +14,9 @@ config OF_CONTROL This feature provides for run-time configuration of U-Boot via a flattened device tree. -config SPL_DISABLE_OF_CONTROL - bool "Disable run-time configuration via Device Tree in SPL" - depends on OF_CONTROL +config SPL_OF_CONTROL + bool "Enable run-time configuration via Device Tree in SPL" + depends on SPL && OF_CONTROL help Some boards use device tree in U-Boot but only have 4KB of SRAM which is not enough to support device tree. Enable this option to diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h index 86cc0c3..2741fc8 100644 --- a/include/config_uncmd_spl.h +++ b/include/config_uncmd_spl.h @@ -20,7 +20,7 @@ #undef CONFIG_CMD_SNTP #undef CONFIG_CMD_TFTPPUT #undef CONFIG_CMD_TFTPSRV -#ifdef CONFIG_SPL_DISABLE_OF_CONTROL +#ifndef CONFIG_SPL_OF_CONTROL #undef CONFIG_OF_CONTROL #endif diff --git a/include/fdtdec.h b/include/fdtdec.h index 46a3482..8e03000 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -48,7 +48,7 @@ struct fdt_memory { #endif #ifdef CONFIG_OF_CONTROL -# if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_DISABLE_OF_CONTROL) +# if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_OF_CONTROL) # define OF_CONTROL 0 # else # define OF_CONTROL 1 diff --git a/lib/Makefile b/lib/Makefile index fd106b9..c6576d8 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -48,7 +48,13 @@ obj-$(CONFIG_BITREVERSE) += bitrev.o obj-y += list_sort.o endif -ifndef CONFIG_SPL_DISABLE_OF_CONTROL +ifndef CONFIG_SPL_BUILD +obj-$(CONFIG_OF_LIBFDT) += libfdt/ +obj-$(CONFIG_OF_CONTROL) += fdtdec_common.o +obj-$(CONFIG_OF_CONTROL) += fdtdec.o +endif + +ifdef CONFIG_SPL_OF_CONTROL obj-$(CONFIG_OF_LIBFDT) += libfdt/ obj-$(CONFIG_OF_CONTROL) += fdtdec_common.o obj-$(CONFIG_OF_CONTROL) += fdtdec.o diff --git a/scripts/Makefile.uncmd_spl b/scripts/Makefile.uncmd_spl index a0630d1..b90fcb8 100644 --- a/scripts/Makefile.uncmd_spl +++ b/scripts/Makefile.uncmd_spl @@ -3,7 +3,7 @@ # TODO: Invent a better way ifdef CONFIG_SPL_BUILD -ifdef CONFIG_SPL_DISABLE_OF_CONTROL +ifndef CONFIG_SPL_OF_CONTROL CONFIG_OF_CONTROL= endif -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot