
On Thu, Mar 9, 2023 at 11:36 AM Tom Rini trini@konsulko.com wrote:
On Thu, Mar 09, 2023 at 11:20:33AM -0800, Troy Kisky wrote:
On Wed, Mar 1, 2023 at 7:33 AM Tom Rini trini@konsulko.com wrote:
On Fri, Feb 24, 2023 at 10:10:23AM -0800, Troy Kisky wrote:
Avoid error messages when SPL,TPL,VPL build don't have the environment options of the main build. This is needed when defined(CONFIG_ENV_IS_IN_xxx) is changed to CONFIG_IS_ENABLED(ENV_IS_IN_xxx).
Signed-off-by: Troy Kisky troykiskyboundary@gmail.com Reviewed-by: Simon Glass sjg@chromium.org
(no changes since v1)
cmd/nvedit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/cmd/nvedit.c b/cmd/nvedit.c index 7cbc3fd573a..ef0fe55431c 100644 --- a/cmd/nvedit.c +++ b/cmd/nvedit.c @@ -43,6 +43,7 @@
DECLARE_GLOBAL_DATA_PTR;
+#if CONFIG_IS_ENABLED(ENV_SUPPORT) #if defined(CONFIG_ENV_IS_IN_EEPROM) || \ defined(CONFIG_ENV_IS_IN_FLASH) || \ defined(CONFIG_ENV_IS_IN_MMC) || \ @@ -60,10 +61,12 @@ DECLARE_GLOBAL_DATA_PTR; #endif
#if !defined(ENV_IS_IN_DEVICE) && \
!defined(CONFIG_ENV_IS_NOWHERE)
!defined(CONFIG_ENV_IS_NOWHERE) && \
!defined(CONFIG_VPL_BUILD)
# error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|MMC|FAT|EXT4|\ NAND|NVRAM|ONENAND|SATA|SPI_FLASH|REMOTE|UBI} or
CONFIG_ENV_IS_NOWHERE
#endif +#endif
This is one of the #error messes that we no longer need with Kconfig, where we can ensure things happen. Maybe we can use def_bool y if .. instead of default y if ..., in the ENV_IS_NOWHERE choice ?
-- Tom
Hi Tom
There is some weirdness here git grep -A1 CONFIG_ENV_IS_NOWHERE *
[snip]
Should I force CONFIG_ENV_IS_NOWHERE=n in these cases?
No, we support more than one env location being enabled at a time, with nowhere being the location of last resort (at run time).
Okay, this help text is misleading then.
config ENV_IS_NOWHERE bool "Environment is not stored" default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \ !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \ !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \ !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \ !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \ !ENV_IS_IN_UBI help Define this if you don't want to or can't have an environment stored on a storage medium. In this case the environment 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. ______________
Perhaps this is better ?
config ENV_IS_NOT_IN_DEVICE def_bool y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \ !ENV_IS_IN_FAT && !ENV_IS_IN_FLASH && \ !ENV_IS_IN_MMC && !ENV_IS_IN_NAND && \ !ENV_IS_IN_NVRAM && !ENV_IS_IN_ONENAND && \ !ENV_IS_IN_REMOTE && !ENV_IS_IN_SPI_FLASH && \ !ENV_IS_IN_UBI select ENV_IS_NOWHERE
config ENV_IS_NOWHERE bool "Environment is not stored" help Define this if you don't care whether or not an environment is stored on a storage medium. In this case the environment will still exist while U-Boot is running, but once U-Boot exits it may not be stored. If no other ENV_IS_IN_ is defined, U-Boot will always start up with a default environment.
BR Troy