DECLARE_GLOBAL_DATA_PTR;
-static struct env_driver *env_driver_lookup(enum env_location loc)
+static struct env_driver *_env_driver_lookup(enum env_location loc)
{
struct env_driver *drv;
const int n_ents = ll_entry_count(struct env_driver, env_driver);
return NULL;
}
-static enum env_location env_get_default_location(void)
+static enum env_location env_get_location(void)
{
- if IS_ENABLED(CONFIG_ENV_IS_IN_DATAFLASH)
- return ENVL_DATAFLASH;
- else if IS_ENABLED(CONFIG_ENV_IS_IN_EEPROM)
+ 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_EXT4)
+ return ENVL_EXT4;
else if IS_ENABLED(CONFIG_ENV_IS_IN_FLASH)
return ENVL_FLASH;
else if IS_ENABLED(CONFIG_ENV_IS_IN_MMC)
return ENVL_UNKNOWN;
}
-struct env_driver *env_driver_lookup_default(void)
+static struct env_driver *env_driver_lookup(void)
{
- enum env_location loc = env_get_default_location();
+ enum env_location loc = env_get_location();
struct env_driver *drv;
- drv = env_driver_lookup(loc);
+ drv = _env_driver_lookup(loc);
if (!drv) {
debug("%s: No environment driver for location %d\n", __func__,
loc);
int env_get_char(int index)
{
- struct env_driver *drv = env_driver_lookup_default();
+ struct env_driver *drv = env_driver_lookup();
int ret;
if (gd->env_valid == ENV_INVALID)
int env_load(void)
{
- struct env_driver *drv = env_driver_lookup_default();
+ struct env_driver *drv = env_driver_lookup();
int ret = 0;
if (!drv)
int env_save(void)
{
- struct env_driver *drv = env_driver_lookup_default();
+ struct env_driver *drv = env_driver_lookup();
int ret;
if (!drv)
return -ENODEV;
if (!drv->save)
return -ENOSYS;
+
+ printf("Saving Environment to %s...\n", drv->name);
ret = drv->save();
if (ret) {
debug("%s: Environment failed to save (err=%d)\n", __func__,
int env_init(void)
{
- struct env_driver *drv = env_driver_lookup_default();
+ struct env_driver *drv = env_driver_lookup();
int ret = -ENOENT;
if (!drv)