summaryrefslogtreecommitdiff
path: root/env
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-08-03 18:22:02 (GMT)
committerTom Rini <trini@konsulko.com>2017-08-16 00:50:27 (GMT)
commit7938822a6b75b69fff9793b6b1769dddf1249525 (patch)
tree10eacede3b5e5e51bac424bd54036dedb97c4d8f /env
parente5bce247b01ae057f05cc80178f0df28ec1d27a7 (diff)
downloadu-boot-7938822a6b75b69fff9793b6b1769dddf1249525.tar.xz
env: Drop common init() functions
Most of the init() implementations just use the default environment. Adjust env_init_new() to do this automatically, and drop the redundant code. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'env')
-rw-r--r--env/dataflash.c16
-rw-r--r--env/eeprom.c14
-rw-r--r--env/env.c14
-rw-r--r--env/ext4.c10
-rw-r--r--env/fat.c10
-rw-r--r--env/mmc.c10
-rw-r--r--env/nowhere.c19
-rw-r--r--env/onenand.c10
-rw-r--r--env/remote.c4
-rw-r--r--env/sata.c10
-rw-r--r--env/sf.c10
-rw-r--r--env/ubi.c10
12 files changed, 10 insertions, 127 deletions
diff --git a/env/dataflash.c b/env/dataflash.c
index 6d95d64..8ab482b 100644
--- a/env/dataflash.c
+++ b/env/dataflash.c
@@ -68,25 +68,9 @@ static int env_dataflash_save(void)
CONFIG_ENV_SIZE);
}
-/*
- * Initialize environment use
- *
- * We are still running from ROM, so data use is limited.
- * Use a (moderately small) buffer on the stack
- */
-int env_dataflash_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
U_BOOT_ENV_LOCATION(dataflash) = {
.location = ENVL_DATAFLASH,
.get_char = env_dataflash_get_char,
.load = env_dataflash_load,
.save = env_save_ptr(env_dataflash_save),
- .init = env_dataflash_init,
};
diff --git a/env/eeprom.c b/env/eeprom.c
index eb69f75..3cc4126 100644
--- a/env/eeprom.c
+++ b/env/eeprom.c
@@ -231,23 +231,9 @@ static int env_eeprom_save(void)
return rc;
}
-/*
- * Initialize Environment use
- *
- * We are still running from ROM, so data use is limited.
- * Use a (moderately small) buffer on the stack
- */
-static int env_eeprom_init(void)
-{
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
- return 0;
-}
-
U_BOOT_ENV_LOCATION(eeprom) = {
.location = ENVL_EEPROM,
.get_char = env_eeprom_get_char,
.load = env_eeprom_load,
.save = env_save_ptr(env_eeprom_save),
- .init = env_eeprom_init,
};
diff --git a/env/env.c b/env/env.c
index d327f9c..12cd475 100644
--- a/env/env.c
+++ b/env/env.c
@@ -128,14 +128,18 @@ int env_save(void)
int env_init_new(void)
{
struct env_driver *drv = env_driver_lookup_default();
- int ret;
+ int ret = -ENOENT;
if (!drv)
return -ENODEV;
- if (!drv->init)
- return -ENOSYS;
- ret = drv->init();
- if (ret) {
+ if (drv->init)
+ ret = drv->init();
+ if (ret == -ENOENT) {
+ gd->env_addr = (ulong)&default_environment[0];
+ gd->env_valid = 0;
+
+ return 0;
+ } else if (ret) {
debug("%s: Environment failed to init (err=%d)\n", __func__,
ret);
return ret;
diff --git a/env/ext4.c b/env/ext4.c
index aa69219..25a5cbe 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -37,15 +37,6 @@ env_t *env_ptr;
DECLARE_GLOBAL_DATA_PTR;
-static int env_ext4_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
#ifdef CONFIG_CMD_SAVEENV
static int env_ext4_save(void)
{
@@ -132,5 +123,4 @@ U_BOOT_ENV_LOCATION(ext4) = {
.location = ENVL_EXT4,
.load = env_ext4_load,
.save = env_save_ptr(env_ext4_save),
- .init = env_ext4_init,
};
diff --git a/env/fat.c b/env/fat.c
index b959013..1ff3d9d 100644
--- a/env/fat.c
+++ b/env/fat.c
@@ -37,15 +37,6 @@ env_t *env_ptr;
DECLARE_GLOBAL_DATA_PTR;
-static int env_fat_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
#ifdef CMD_SAVEENV
static int env_fat_save(void)
{
@@ -131,5 +122,4 @@ U_BOOT_ENV_LOCATION(fat) = {
#ifdef CMD_SAVEENV
.save = env_save_ptr(env_fat_save),
#endif
- .init = env_fat_init,
};
diff --git a/env/mmc.c b/env/mmc.c
index d63feea..966f620 100644
--- a/env/mmc.c
+++ b/env/mmc.c
@@ -82,15 +82,6 @@ __weak int mmc_get_env_dev(void)
return CONFIG_SYS_MMC_ENV_DEV;
}
-static int env_mmc_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
#ifdef CONFIG_SYS_MMC_ENV_PART
__weak uint mmc_get_env_part(struct mmc *mmc)
{
@@ -331,5 +322,4 @@ U_BOOT_ENV_LOCATION(mmc) = {
#ifndef CONFIG_SPL_BUILD
.save = env_save_ptr(env_mmc_save),
#endif
- .init = env_mmc_init,
};
diff --git a/env/nowhere.c b/env/nowhere.c
index 6a67ab0..1d2ae85 100644
--- a/env/nowhere.c
+++ b/env/nowhere.c
@@ -17,25 +17,6 @@ DECLARE_GLOBAL_DATA_PTR;
env_t *env_ptr;
-static void env_nowhere_load(void)
-{
-}
-
-/*
- * Initialize Environment use
- *
- * We are still running from ROM, so data use is limited
- */
-static int env_nowhere_init(void)
-{
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = 0;
-
- return 0;
-}
-
U_BOOT_ENV_LOCATION(nowhere) = {
.location = ENVL_NOWHERE,
- .load = env_nowhere_load,
- .init = env_nowhere_init,
};
diff --git a/env/onenand.c b/env/onenand.c
index f72aa4b..cb1ab53 100644
--- a/env/onenand.c
+++ b/env/onenand.c
@@ -106,18 +106,8 @@ static int env_onenand_save(void)
return 0;
}
-static int env_onenand_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
U_BOOT_ENV_LOCATION(onenand) = {
.location = ENVL_ONENAND,
.load = env_onenand_load,
.save = env_save_ptr(env_onenand_save),
- .init = env_onenand_init,
};
diff --git a/env/remote.c b/env/remote.c
index 0324cba..c5dce5b 100644
--- a/env/remote.c
+++ b/env/remote.c
@@ -33,9 +33,7 @@ static int env_remote_init(void)
return 0;
}
- gd->env_addr = (ulong)default_environment;
- gd->env_valid = 0;
- return 0;
+ return -ENOENT;
}
#ifdef CONFIG_CMD_SAVEENV
diff --git a/env/sata.c b/env/sata.c
index 6f90998..a5ff54c 100644
--- a/env/sata.c
+++ b/env/sata.c
@@ -33,15 +33,6 @@ __weak int sata_get_env_dev(void)
return CONFIG_SYS_SATA_ENV_DEV;
}
-static int env_sata_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
#ifdef CONFIG_CMD_SAVEENV
static inline int write_env(struct blk_desc *sata, unsigned long size,
unsigned long offset, void *buffer)
@@ -130,5 +121,4 @@ U_BOOT_ENV_LOCATION(sata) = {
.location = ENVL_ESATA,
.load = env_sata_load,
.save = env_save_ptr(env_sata_save),
- .init = env_sata_init,
};
diff --git a/env/sf.c b/env/sf.c
index 82babaa..a07641b 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -344,20 +344,10 @@ out:
}
#endif
-static int env_sf_init(void)
-{
- /* SPI flash isn't usable before relocation */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
U_BOOT_ENV_LOCATION(sf) = {
.location = ENVL_SPI_FLASH,
.load = env_sf_load,
#ifdef CMD_SAVEENV
.save = env_save_ptr(env_sf_save),
#endif
- .init = env_sf_init,
};
diff --git a/env/ubi.c b/env/ubi.c
index 3b6344d..4811f97 100644
--- a/env/ubi.c
+++ b/env/ubi.c
@@ -22,15 +22,6 @@ env_t *env_ptr;
DECLARE_GLOBAL_DATA_PTR;
-static int env_ubi_init(void)
-{
- /* use default */
- gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid = ENV_VALID;
-
- return 0;
-}
-
#ifdef CONFIG_CMD_SAVEENV
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
static int env_ubi_save(void)
@@ -182,5 +173,4 @@ U_BOOT_ENV_LOCATION(ubi) = {
.location = ENVL_UBI,
.load = env_ubi_load,
.save = env_save_ptr(env_ubi_save),
- .init = env_ubi_init,
};