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>
This commit is contained in:
parent
e5bce247b0
commit
7938822a6b
16
env/dataflash.c
vendored
16
env/dataflash.c
vendored
@ -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,
|
||||
};
|
||||
|
14
env/eeprom.c
vendored
14
env/eeprom.c
vendored
@ -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,
|
||||
};
|
||||
|
14
env/env.c
vendored
14
env/env.c
vendored
@ -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;
|
||||
|
10
env/ext4.c
vendored
10
env/ext4.c
vendored
@ -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,
|
||||
};
|
||||
|
10
env/fat.c
vendored
10
env/fat.c
vendored
@ -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,
|
||||
};
|
||||
|
10
env/mmc.c
vendored
10
env/mmc.c
vendored
@ -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,
|
||||
};
|
||||
|
19
env/nowhere.c
vendored
19
env/nowhere.c
vendored
@ -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,
|
||||
};
|
||||
|
10
env/onenand.c
vendored
10
env/onenand.c
vendored
@ -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,
|
||||
};
|
||||
|
4
env/remote.c
vendored
4
env/remote.c
vendored
@ -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
|
||||
|
10
env/sata.c
vendored
10
env/sata.c
vendored
@ -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,
|
||||
};
|
||||
|
10
env/sf.c
vendored
10
env/sf.c
vendored
@ -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,
|
||||
};
|
||||
|
10
env/ubi.c
vendored
10
env/ubi.c
vendored
@ -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,
|
||||
};
|
||||
|
@ -259,7 +259,8 @@ struct env_driver {
|
||||
*
|
||||
* This method is optional.
|
||||
*
|
||||
* @return 0 if OK, -ve on error
|
||||
* @return 0 if OK, -ENOENT if no initial environment could be found,
|
||||
* other -ve on error
|
||||
*/
|
||||
int (*init)(void);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user