Explorar o código

env: Convert CONFIG_ENV_IS_IN... to a choice

At present we support multiple environment drivers but there is not way to
select between them at run time. Also settings related to the position and
size of the environment area are global (i.e. apply to all locations).

Until these limitations are removed we cannot really support more than one
environment location. Adjust the location to be a choice so that only one
can be selected. By default the environment is 'nowhere', meaning that the
environment exists only in memory and cannot be saved.

Also expand the help for the 'nowhere' option and move it to the top since
it is the default.

Signed-off-by: Simon Glass <sjg@chromium.org>
[trini: Move all of the imply logic to default X if Y so it works again]
Signed-off-by: Tom Rini <trini@konsulko.com>
Simon Glass %!s(int64=6) %!d(string=hai) anos
pai
achega
c1c3fe2307
Modificáronse 42 ficheiros con 57 adicións e 61 borrados
  1. 0 2
      arch/arm/Kconfig
  2. 0 1
      arch/arm/mach-exynos/Kconfig
  3. 0 1
      arch/arm/mach-imx/mx6/Kconfig
  4. 0 1
      arch/arm/mach-imx/mx7/Kconfig
  5. 0 2
      arch/arm/mach-integrator/Kconfig
  6. 0 1
      arch/arm/mach-mvebu/Kconfig
  7. 0 6
      arch/arm/mach-sunxi/Kconfig
  8. 0 3
      arch/arm/mach-tegra/Kconfig
  9. 0 8
      arch/m68k/Kconfig
  10. 0 5
      arch/mips/Kconfig
  11. 0 1
      arch/powerpc/Kconfig
  12. 0 6
      arch/powerpc/cpu/mpc83xx/Kconfig
  13. 0 4
      arch/powerpc/cpu/mpc85xx/Kconfig
  14. 0 1
      arch/powerpc/cpu/mpc86xx/Kconfig
  15. 0 3
      arch/sh/Kconfig
  16. 0 1
      arch/x86/cpu/baytrail/Kconfig
  17. 0 1
      arch/x86/cpu/broadwell/Kconfig
  18. 0 1
      arch/x86/cpu/coreboot/Kconfig
  19. 0 1
      arch/x86/cpu/ivybridge/Kconfig
  20. 0 1
      arch/x86/cpu/qemu/Kconfig
  21. 0 1
      arch/x86/cpu/quark/Kconfig
  22. 0 1
      arch/x86/cpu/queensbay/Kconfig
  23. 0 1
      board/ti/common/Kconfig
  24. 1 0
      configs/boston32r2_defconfig
  25. 1 0
      configs/boston32r2el_defconfig
  26. 1 0
      configs/boston64r2_defconfig
  27. 1 0
      configs/boston64r2el_defconfig
  28. 1 0
      configs/edison_defconfig
  29. 1 0
      configs/malta64_defconfig
  30. 1 0
      configs/malta64el_defconfig
  31. 1 0
      configs/malta_defconfig
  32. 1 0
      configs/maltael_defconfig
  33. 1 0
      configs/microblaze-generic_defconfig
  34. 1 0
      configs/qemu_mips64_defconfig
  35. 1 0
      configs/qemu_mips64el_defconfig
  36. 1 0
      configs/qemu_mips_defconfig
  37. 1 0
      configs/qemu_mipsel_defconfig
  38. 1 0
      configs/r8a7795_ulcb_defconfig
  39. 1 0
      configs/r8a7796_ulcb_defconfig
  40. 41 6
      env/Kconfig
  41. 0 1
      include/configs/edison.h
  42. 0 1
      include/configs/ulcb.h

+ 0 - 2
arch/arm/Kconfig

@@ -493,7 +493,6 @@ config ARCH_BCM283X
 	select DM_GPIO
 	select OF_CONTROL
 	imply FAT_WRITE
-	imply ENV_IS_IN_FAT
 
 config TARGET_VEXPRESS_CA15_TC2
 	bool "Support vexpress_ca15_tc2"
@@ -1039,7 +1038,6 @@ config ARCH_UNIPHIER
 	select SPL_PINCTRL if SPL
 	select SUPPORT_SPL
 	imply FAT_WRITE
-	imply ENV_IS_IN_MMC
 	help
 	  Support for UniPhier SoC family developed by Socionext Inc.
 	  (formerly, System LSI Business Division of Panasonic Corporation)

+ 0 - 1
arch/arm/mach-exynos/Kconfig

@@ -8,7 +8,6 @@ config ARCH_EXYNOS4
 	bool "Exynos4 SoC family"
 	select CPU_V7
 	select BOARD_EARLY_INIT_F
-	imply ENV_IS_IN_MMC
 	help
 	  Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There
 	  are multiple SoCs in this family including Exynos4210, Exynos4412,

+ 0 - 1
arch/arm/mach-imx/mx6/Kconfig

@@ -30,7 +30,6 @@ config MX6SL
 config MX6SX
 	select ROM_UNIFIED_SECTIONS
 	bool
-	imply ENV_IS_IN_MMC
 
 config MX6SLL
 	select ROM_UNIFIED_SECTIONS

+ 0 - 1
arch/arm/mach-imx/mx7/Kconfig

@@ -13,7 +13,6 @@ config MX7D
 	select ROM_UNIFIED_SECTIONS
 	imply CMD_FUSE
 	bool
-	imply ENV_IS_IN_MMC
 
 choice
 	prompt "MX7 board select"

+ 0 - 2
arch/arm/mach-integrator/Kconfig

@@ -11,13 +11,11 @@ config ARCH_INTEGRATOR_AP
 config ARCH_INTEGRATOR_CP
 	bool "Support Integrator/CP platform"
 	select ARCH_CINTEGRATOR
-	imply ENV_IS_IN_FLASH
 
 endchoice
 
 config ARCH_CINTEGRATOR
 	bool
-	imply ENV_IS_IN_FLASH
 
 choice
 	prompt "Integrator core module select"

+ 0 - 1
arch/arm/mach-mvebu/Kconfig

@@ -32,7 +32,6 @@ config ARMADA_38X
 config ARMADA_XP
 	bool
 	select ARMADA_32BIT
-	imply ENV_IS_IN_SPI_FLASH
 
 # ARMv8 SoCs...
 config ARMADA_3700

+ 0 - 6
arch/arm/mach-sunxi/Kconfig

@@ -62,7 +62,6 @@ config MACH_SUNXI_H3_H5
 	select SUNXI_DRAM_DW_32BIT
 	select SUNXI_GEN_SUN6I
 	select SUPPORT_SPL
-	imply ENV_IS_IN_MMC
 
 choice
 	prompt "Sunxi SoC Variant"
@@ -74,7 +73,6 @@ config MACH_SUN4I
 	select ARM_CORTEX_CPU_IS_UP
 	select SUNXI_GEN_SUN4I
 	select SUPPORT_SPL
-	imply ENV_IS_IN_MMC
 
 config MACH_SUN5I
 	bool "sun5i (Allwinner A13)"
@@ -92,7 +90,6 @@ config MACH_SUN6I
 	select SUNXI_GEN_SUN6I
 	select SUPPORT_SPL
 	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
-	imply ENV_IS_IN_MMC
 
 config MACH_SUN7I
 	bool "sun7i (Allwinner A20)"
@@ -103,7 +100,6 @@ config MACH_SUN7I
 	select SUNXI_GEN_SUN4I
 	select SUPPORT_SPL
 	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
-	imply ENV_IS_IN_MMC
 
 config MACH_SUN8I_A23
 	bool "sun8i (Allwinner A23)"
@@ -114,7 +110,6 @@ config MACH_SUN8I_A23
 	select SUNXI_GEN_SUN6I
 	select SUPPORT_SPL
 	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
-	imply ENV_IS_IN_MMC
 
 config MACH_SUN8I_A33
 	bool "sun8i (Allwinner A33)"
@@ -140,7 +135,6 @@ config MACH_SUN8I_H3
 	select ARCH_SUPPORT_PSCI
 	select MACH_SUNXI_H3_H5
 	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
-	imply ENV_IS_IN_MMC
 
 config MACH_SUN8I_R40
 	bool "sun8i (Allwinner R40)"

+ 0 - 3
arch/arm/mach-tegra/Kconfig

@@ -60,7 +60,6 @@ config TEGRA_ARMV8_COMMON
 	bool "Tegra 64-bit common options"
 	select ARM64
 	select TEGRA_COMMON
-	imply ENV_IS_IN_MMC
 
 choice
 	prompt "Tegra SoC select"
@@ -78,7 +77,6 @@ config TEGRA30
 	select ARM_ERRATA_743622
 	select ARM_ERRATA_751472
 	select TEGRA_ARMV7_COMMON
-	imply ENV_IS_IN_MMC
 
 config TEGRA114
 	bool "Tegra114 family"
@@ -87,7 +85,6 @@ config TEGRA114
 config TEGRA124
 	bool "Tegra124 family"
 	select TEGRA_ARMV7_COMMON
-	imply ENV_IS_IN_MMC
 	imply REGMAP
 	imply SYSCON
 

+ 0 - 8
arch/m68k/Kconfig

@@ -10,7 +10,6 @@ config MCF520x
 
 config MCF52x2
 	bool
-	imply ENV_IS_IN_FLASH
 
 config MCF523x
 	bool
@@ -23,7 +22,6 @@ config MCF5301x
 
 config MCF532x
 	bool
-	imply ENV_IS_IN_FLASH
 
 config MCF537x
 	bool
@@ -39,7 +37,6 @@ config MCF5227x
 
 config MCF547x_8x
 	bool
-	imply ENV_IS_IN_FLASH
 
 # processor type
 config M5208
@@ -73,7 +70,6 @@ config M5275
 config M5282
 	bool
 	select MCF52x2
-	imply ENV_IS_IN_FLASH
 
 config M5307
 	bool
@@ -111,12 +107,10 @@ config M52277
 config M547x
 	bool
 	select MCF547x_8x
-	imply ENV_IS_IN_FLASH
 
 config M548x
 	bool
 	select MCF547x_8x
-	imply ENV_IS_IN_FLASH
 
 choice
 	prompt "Target select"
@@ -197,12 +191,10 @@ config TARGET_M54455EVB
 config TARGET_M5475EVB
 	bool "Support M5475EVB"
 	select M547x
-	imply ENV_IS_IN_FLASH
 
 config TARGET_M5485EVB
 	bool "Support M5485EVB"
 	select M548x
-	imply ENV_IS_IN_FLASH
 
 config TARGET_AMCORE
 	bool "Support AMCORE"

+ 0 - 5
arch/mips/Kconfig

@@ -21,7 +21,6 @@ config TARGET_QEMU_MIPS
 	select SUPPORTS_CPU_MIPS64_R1
 	select SUPPORTS_CPU_MIPS64_R2
 	select ROM_EXCEPTION_VECTORS
-	imply ENV_IS_IN_FLASH
 
 config TARGET_MALTA
 	bool "Support malta"
@@ -43,7 +42,6 @@ config TARGET_MALTA
 	select SWAP_IO_SPACE
 	select MIPS_L1_CACHE_SHIFT_6
 	select ROM_EXCEPTION_VECTORS
-	imply ENV_IS_IN_FLASH
 
 config TARGET_VCT
 	bool "Support vct"
@@ -85,7 +83,6 @@ config ARCH_BMIPS
 	select CPU
 	select RAM
 	select SYSRESET
-	imply ENV_IS_NOWHERE
 
 config MACH_PIC32
 	bool "Support Microchip PIC32"
@@ -110,7 +107,6 @@ config TARGET_BOSTON
 	select SUPPORTS_CPU_MIPS64_R2
 	select SUPPORTS_CPU_MIPS64_R6
 	select ROM_EXCEPTION_VECTORS
-	imply ENV_IS_IN_FLASH
 
 config TARGET_XILFPGA
 	bool "Support Imagination Xilfpga"
@@ -200,7 +196,6 @@ config CPU_MIPS64_R2
 	bool "MIPS64 Release 2"
 	depends on SUPPORTS_CPU_MIPS64_R2
 	select 64BIT
-	imply ENV_IS_IN_FLASH
 	help
 	  Choose this option to build a kernel for release 2 through 5 of the
 	  MIPS64 architecture.

+ 0 - 1
arch/powerpc/Kconfig

@@ -28,7 +28,6 @@ config MPC86xx
 	bool "MPC86xx"
 	select SYS_FSL_DDR
 	select SYS_FSL_DDR_BE
-	imply ENV_IS_IN_FLASH
 	imply CMD_REGINFO
 
 config 8xx

+ 0 - 6
arch/powerpc/cpu/mpc83xx/Kconfig

@@ -13,7 +13,6 @@ config TARGET_MPC8308_P1M
 
 config TARGET_SBC8349
 	bool "Support sbc8349"
-	imply ENV_IS_IN_FLASH
 
 config TARGET_VE8313
 	bool "Support ve8313"
@@ -40,7 +39,6 @@ config TARGET_MPC8323ERDB
 config TARGET_MPC832XEMDS
 	bool "Support MPC832XEMDS"
 	select BOARD_EARLY_INIT_F
-	imply ENV_IS_IN_FLASH
 
 config TARGET_MPC8349EMDS
 	bool "Support MPC8349EMDS"
@@ -52,7 +50,6 @@ config TARGET_MPC8349EMDS
 config TARGET_MPC8349ITX
 	bool "Support MPC8349ITX"
 	imply CMD_IRQ
-	imply ENV_IS_IN_FLASH
 
 config TARGET_MPC837XEMDS
 	bool "Support MPC837XEMDS"
@@ -77,13 +74,11 @@ config TARGET_SUVD3
 	bool "Support suvd3"
 	imply CMD_CRAMFS
 	imply FS_CRAMFS
-	imply ENV_IS_IN_FLASH
 
 config TARGET_TUXX1
 	bool "Support tuxx1"
 	imply CMD_CRAMFS
 	imply FS_CRAMFS
-	imply ENV_IS_IN_FLASH
 
 config TARGET_TQM834X
 	bool "Support TQM834x"
@@ -95,7 +90,6 @@ config TARGET_HRCON
 config TARGET_STRIDER
 	bool "Support strider"
 	select SYS_FSL_ERRATUM_ESDHC111
-	imply ENV_IS_IN_FLASH
 	imply CMD_PCA953X
 
 endchoice

+ 0 - 4
arch/powerpc/cpu/mpc85xx/Kconfig

@@ -19,7 +19,6 @@ choice
 config TARGET_SBC8548
 	bool "Support sbc8548"
 	select ARCH_MPC8548
-	imply ENV_IS_IN_FLASH
 
 config TARGET_SOCRATES
 	bool "Support socrates"
@@ -105,7 +104,6 @@ config TARGET_MPC8544DS
 config TARGET_MPC8548CDS
 	bool "Support MPC8548CDS"
 	select ARCH_MPC8548
-	imply ENV_IS_IN_FLASH
 
 config TARGET_MPC8555CDS
 	bool "Support MPC8555CDS"
@@ -565,7 +563,6 @@ config ARCH_MPC8548
 	select SYS_FSL_SEC_BE
 	select SYS_FSL_SEC_COMPAT_2
 	select SYS_PPC_E500_USE_DEBUG_TLB
-	imply ENV_IS_IN_FLASH
 	imply CMD_REGINFO
 
 config ARCH_MPC8555
@@ -616,7 +613,6 @@ config ARCH_MPC8572
 	select SYS_PPC_E500_USE_DEBUG_TLB
 	select FSL_ELBC
 	imply CMD_NAND
-	imply ENV_IS_IN_FLASH
 
 config ARCH_P1010
 	bool

+ 0 - 1
arch/powerpc/cpu/mpc86xx/Kconfig

@@ -40,7 +40,6 @@ config ARCH_MPC8641
 	select FSL_LAW
 	select SYS_FSL_HAS_DDR1
 	select SYS_FSL_HAS_DDR2
-	imply ENV_IS_IN_FLASH
 
 config FSL_LAW
 	bool

+ 0 - 3
arch/sh/Kconfig

@@ -3,16 +3,13 @@ menu "SuperH architecture"
 
 config CPU_SH2
 	bool
-	imply ENV_IS_IN_FLASH
 
 config CPU_SH2A
 	bool
 	select CPU_SH2
-	imply ENV_IS_IN_FLASH
 
 config CPU_SH3
 	bool
-	imply ENV_IS_IN_FLASH
 
 config CPU_SH4
 	bool

+ 0 - 1
arch/x86/cpu/baytrail/Kconfig

@@ -10,7 +10,6 @@ config INTEL_BAYTRAIL
 	select ARCH_MISC_INIT if !EFI
 	imply HAVE_INTEL_ME if !EFI
 	imply ENABLE_MRC_CACHE
-	imply ENV_IS_IN_SPI_FLASH
 	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO

+ 0 - 1
arch/x86/cpu/broadwell/Kconfig

@@ -9,7 +9,6 @@ config INTEL_BROADWELL
 	select ARCH_EARLY_INIT_R
 	imply HAVE_INTEL_ME
 	imply ENABLE_MRC_CACHE
-	imply ENV_IS_IN_SPI_FLASH
 	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_BROADWELL_GPIO

+ 0 - 1
arch/x86/cpu/coreboot/Kconfig

@@ -3,7 +3,6 @@ if TARGET_COREBOOT
 config SYS_COREBOOT
 	bool
 	default y
-	imply ENV_IS_NOWHERE
 	imply AHCI_PCI
 	imply E1000
 	imply ICH_SPI

+ 0 - 1
arch/x86/cpu/ivybridge/Kconfig

@@ -10,7 +10,6 @@ config NORTHBRIDGE_INTEL_IVYBRIDGE
 	select CACHE_MRC_BIN if HAVE_MRC
 	imply HAVE_INTEL_ME
 	imply ENABLE_MRC_CACHE
-	imply ENV_IS_IN_SPI_FLASH
 	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO

+ 0 - 1
arch/x86/cpu/qemu/Kconfig

@@ -7,7 +7,6 @@
 config QEMU
 	bool
 	select ARCH_EARLY_INIT_R
-	imply ENV_IS_NOWHERE
 	imply AHCI_PCI
 	imply E1000
 	imply SYS_NS16550

+ 0 - 1
arch/x86/cpu/quark/Kconfig

@@ -10,7 +10,6 @@ config INTEL_QUARK
 	select ARCH_EARLY_INIT_R
 	select ARCH_MISC_INIT
 	imply ENABLE_MRC_CACHE
-	imply ENV_IS_IN_SPI_FLASH
 	imply ETH_DESIGNWARE
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO

+ 0 - 1
arch/x86/cpu/queensbay/Kconfig

@@ -9,7 +9,6 @@ config INTEL_QUEENSBAY
 	select HAVE_FSP
 	select HAVE_CMC
 	select ARCH_EARLY_INIT_R
-	imply ENV_IS_IN_SPI_FLASH
 	imply AHCI_PCI
 	imply ICH_SPI
 	imply INTEL_ICH6_GPIO

+ 0 - 1
board/ti/common/Kconfig

@@ -42,4 +42,3 @@ config TI_COMMON_CMD_OPTIONS
 	imply CMD_SPI
 	imply CMD_TIME
 	imply CMD_USB if USB
-	imply ENV_IS_IN_FAT if MMC_OMAP_HS

+ 1 - 0
configs/boston32r2_defconfig

@@ -38,3 +38,4 @@ CONFIG_DM_PCI=y
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/boston32r2el_defconfig

@@ -39,3 +39,4 @@ CONFIG_DM_PCI=y
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/boston64r2_defconfig

@@ -39,3 +39,4 @@ CONFIG_DM_PCI=y
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/boston64r2el_defconfig

@@ -40,3 +40,4 @@ CONFIG_DM_PCI=y
 CONFIG_PCI_XILINX=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZ4=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/edison_defconfig

@@ -24,6 +24,7 @@ CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_FAT=y
 CONFIG_CMD_FS_GENERIC=y
 CONFIG_OF_EMBED=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_CPU=y
 CONFIG_DFU_MMC=y
 CONFIG_DFU_RAM=y

+ 1 - 0
configs/malta64_defconfig

@@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/malta64el_defconfig

@@ -22,3 +22,4 @@ CONFIG_OF_EMBED=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/malta_defconfig

@@ -20,3 +20,4 @@ CONFIG_OF_EMBED=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/maltael_defconfig

@@ -21,3 +21,4 @@ CONFIG_OF_EMBED=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_PCI=y
 CONFIG_SYS_NS16550=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/microblaze-generic_defconfig

@@ -37,6 +37,7 @@ CONFIG_CMD_UBI=y
 # CONFIG_CMD_UBIFS is not set
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_EMBED=y
+CONFIG_ENV_IS_IN_FLASH=y
 CONFIG_NETCONSOLE=y
 CONFIG_SPL_DM=y
 CONFIG_MTD_NOR_FLASH=y

+ 1 - 0
configs/qemu_mips64_defconfig

@@ -16,3 +16,4 @@ CONFIG_CMD_FAT=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/qemu_mips64el_defconfig

@@ -17,3 +17,4 @@ CONFIG_CMD_FAT=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/qemu_mips_defconfig

@@ -14,3 +14,4 @@ CONFIG_CMD_FAT=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/qemu_mipsel_defconfig

@@ -15,3 +15,4 @@ CONFIG_CMD_FAT=y
 CONFIG_MTD_NOR_FLASH=y
 CONFIG_SYS_NS16550=y
 CONFIG_LZMA=y
+CONFIG_ENV_IS_IN_FLASH=y

+ 1 - 0
configs/r8a7795_ulcb_defconfig

@@ -17,6 +17,7 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_CLK=y
 CONFIG_CLK_RENESAS=y
 CONFIG_SH_SDHI=y

+ 1 - 0
configs/r8a7796_ulcb_defconfig

@@ -18,6 +18,7 @@ CONFIG_CMD_DHCP=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
 CONFIG_OF_CONTROL=y
+CONFIG_ENV_IS_IN_MMC=y
 CONFIG_CLK=y
 CONFIG_CLK_RENESAS=y
 CONFIG_SH_SDHI=y

+ 41 - 6
env/Kconfig

@@ -1,5 +1,45 @@
 menu "Environment"
 
+choice
+	prompt "Select the location of the environment"
+	default ENV_IS_IN_MMC if ARCH_SUNXI
+	default ENV_IS_IN_FAT if ARCH_BCM283X
+	default ENV_IS_IN_MMC if ARCH_UNIPHIER
+	default ENV_IS_IN_MMC if ARCH_EXYNOS4
+	default ENV_IS_IN_MMC if MX6SX || MX7D
+	default ENV_IS_IN_FLASH if ARCH_CINTEGRATOR
+	default ENV_IS_IN_SPI_FLASH if ARMADA_XP
+	default ENV_IS_IN_MMC if TEGRA30 || TEGRA124
+	default ENV_IS_IN_MMC if TEGRA_ARMV8_COMMON
+	default ENV_IS_IN_FLASH if ARCH_INTEGRATOR_CP
+	default ENV_IS_IN_FLASH if M548x || M547x || M5282 || MCF547x_8x
+	default ENV_IS_IN_FLASH if MCF532x || MCF52x2
+	default ENV_IS_IN_FLASH if MPC86xx || MPC83xx
+	default ENV_IS_IN_FLASH if ARCH_MPC8572 || ARCH_MPC8548 || ARCH_MPC8641
+	default ENV_IS_IN_FLASH if SH && !CPU_SH4
+	default ENV_IS_IN_SPI_FLASH if INTEL_BAYTRAIL
+	default ENV_IS_IN_SPI_FLASH if INTEL_BROADWELL
+	default ENV_IS_IN_SPI_FLASH if NORTHBRIDGE_INTEL_IVYBRIDGE
+	default ENV_IS_IN_SPI_FLASH if INTEL_QUARK
+	default ENV_IS_IN_SPI_FLASH if INTEL_QUEENSBAY
+	default ENV_IS_IN_FAT if MMC_OMAP_HS && TI_COMMON_CMD_OPTIONS
+	default ENV_IS_NOWHERE
+	help
+	  At present the environment can be stored in only one place. Use this
+	  option to select the location. This is either a device (where the
+	  environemnt information is simply written to a fixed location or
+	  partition on the device) or a filesystem (where the environment
+	  information is written to a file).
+
+config ENV_IS_NOWHERE
+	bool "Environment is not stored"
+	help
+	  Define this if you don't want to or can't have an environment stored
+	  on a storage medium. In this case the environemnt will still exist
+	  while U-Boot is running, but once U-Boot exits it will not be
+	  stored. U-Boot will therefore always start up with a default
+	  environment.
+
 config ENV_IS_IN_DATAFLASH
 	bool "Environment in dataflash"
 	depends on !CHAIN_OF_TRUST
@@ -161,7 +201,6 @@ config ENV_IS_IN_FLASH
 config ENV_IS_IN_MMC
 	bool "Environment in an MMC device"
 	depends on !CHAIN_OF_TRUST
-	default y if ARCH_SUNXI
 	help
 	  Define this if you have an MMC device which you want to use for the
 	  environment.
@@ -364,11 +403,7 @@ config ENV_IS_IN_UBI
 	  You will probably want to define these to avoid a really noisy system
 	  when storing the env in UBI.
 
-config ENV_IS_NOWHERE
-	bool "Environment is not stored"
-	help
-	  Define this if you don't want to or can't have an environment stored
-	  on a storage medium
+endchoice
 
 config ENV_FAT_INTERFACE
 	string "Name of the block device for the environment"

+ 0 - 1
include/configs/edison.h

@@ -42,7 +42,6 @@
 #define CONFIG_SYS_MEMTEST_END			0x01000000
 
 /* Environment */
-#define CONFIG_ENV_IS_IN_MMC
 #define CONFIG_SYS_MMC_ENV_DEV			0
 #define CONFIG_SYS_MMC_ENV_PART			0
 #define CONFIG_ENV_SIZE				(64 * 1024)

+ 0 - 1
include/configs/ulcb.h

@@ -93,7 +93,6 @@ unsigned char ulcb_softspi_read(void);
 #define CONFIG_SH_SDHI_FREQ		200000000
 
 /* Environment in eMMC, at the end of 2nd "boot sector" */
-#define CONFIG_ENV_IS_IN_MMC
 #define CONFIG_ENV_OFFSET		(-CONFIG_ENV_SIZE)
 #define CONFIG_SYS_MMC_ENV_DEV		1
 #define CONFIG_SYS_MMC_ENV_PART		2