diff options
author | Simon Glass <sjg@chromium.org> | 2017-08-03 12:22:02 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-08-15 20:50:27 -0400 |
commit | 7938822a6b75b69fff9793b6b1769dddf1249525 (patch) | |
tree | 10eacede3b5e5e51bac424bd54036dedb97c4d8f /env | |
parent | e5bce247b01ae057f05cc80178f0df28ec1d27a7 (diff) | |
download | u-boot-7938822a6b75b69fff9793b6b1769dddf1249525.tar.gz |
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.c | 16 | ||||
-rw-r--r-- | env/eeprom.c | 14 | ||||
-rw-r--r-- | env/env.c | 14 | ||||
-rw-r--r-- | env/ext4.c | 10 | ||||
-rw-r--r-- | env/fat.c | 10 | ||||
-rw-r--r-- | env/mmc.c | 10 | ||||
-rw-r--r-- | env/nowhere.c | 19 | ||||
-rw-r--r-- | env/onenand.c | 10 | ||||
-rw-r--r-- | env/remote.c | 4 | ||||
-rw-r--r-- | env/sata.c | 10 | ||||
-rw-r--r-- | env/sf.c | 10 | ||||
-rw-r--r-- | env/ubi.c | 10 |
12 files changed, 10 insertions, 127 deletions
diff --git a/env/dataflash.c b/env/dataflash.c index 6d95d6409b..8ab482b3b4 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 eb69f75f7b..3cc412620a 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, }; @@ -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 aa69219021..25a5cbecdd 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, }; @@ -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, }; @@ -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 6a67ab09ff..1d2ae85a57 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 f72aa4b036..cb1ab53216 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 0324cba099..c5dce5b966 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 6f9099873d..a5ff54c287 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, }; @@ -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, }; @@ -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, }; |