Hi Tom, On 26 July 2017 at 10:04, Tom Rini <[email protected]> wrote: > On Sun, Jul 23, 2017 at 09:19:57PM -0600, Simon Glass wrote: > >> We plan to move to a environment access via drivers for each location >> where the environment can be stored. Add an implementation for this. So >> far it is not used, but will be pressed into service in a future patch. >> >> Signed-off-by: Simon Glass <[email protected]> > [snip] >> +static enum env_location env_get_default_location(void) >> +{ >> + if IS_ENABLED(CONFIG_ENV_IS_IN_DATAFLASH) >> + return ENVL_DATAFLASH; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_EEPROM) >> + return ENVL_EEPROM; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_FAT) >> + return ENVL_FAT; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_FLASH) >> + return ENVL_FLASH; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_MMC) >> + return ENVL_MMC; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_NAND) >> + return ENVL_NAND; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_NVRAM) >> + return ENVL_NVRAM; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_REMOTE) >> + return ENVL_REMOTE; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH) >> + return ENVL_SPI_FLASH; >> + else if IS_ENABLED(CONFIG_ENV_IS_IN_UBI) >> + return ENVL_UBI; >> + else if IS_ENABLED(CONFIG_ENV_IS_NOWHERE) >> + return ENVL_NOWHERE; >> + else >> + return ENVL_UNKNOWN; >> +} > > I think the kernel has a few examples of how the Kconfig side of things > looks so that you can offer N options and then pick a default one (io > scheduler, etc). We should do that rather than alphabetical IS_ENABLED > tests.
Yes it is possible to have a choice in Kconfig, but for this first series I have left it as a option. My plan is to allow the environment to be in multiple places in the future, e.g. try using mmc and fall back to SPI flash. I think that the environment location should be able to be a run-time decision. What do you think? > > Otherwise, TODOs aside, looks good. Regards, Simon _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

