mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-19 03:15:00 +00:00
env: Switch over to use environment location drivers
Move over to use a the master implementation of the location drivers, with each method calling out to the appropriate driver. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
c9d728dd33
commit
e5bce247b0
15 changed files with 128 additions and 114 deletions
16
env/dataflash.c
vendored
16
env/dataflash.c
vendored
|
@ -18,7 +18,7 @@ env_t *env_ptr;
|
||||||
|
|
||||||
char *env_name_spec = "dataflash";
|
char *env_name_spec = "dataflash";
|
||||||
|
|
||||||
uchar env_get_char_spec(int index)
|
static unsigned char env_dataflash_get_char(int index)
|
||||||
{
|
{
|
||||||
uchar c;
|
uchar c;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ uchar env_get_char_spec(int index)
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_dataflash_load(void)
|
||||||
{
|
{
|
||||||
ulong crc, new = 0;
|
ulong crc, new = 0;
|
||||||
unsigned off;
|
unsigned off;
|
||||||
|
@ -54,7 +54,7 @@ void env_relocate_spec(void)
|
||||||
#error No support for redundant environment on dataflash yet!
|
#error No support for redundant environment on dataflash yet!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_dataflash_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -74,7 +74,7 @@ int saveenv(void)
|
||||||
* We are still running from ROM, so data use is limited.
|
* We are still running from ROM, so data use is limited.
|
||||||
* Use a (moderately small) buffer on the stack
|
* Use a (moderately small) buffer on the stack
|
||||||
*/
|
*/
|
||||||
int env_init(void)
|
int env_dataflash_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -85,8 +85,8 @@ int env_init(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(dataflash) = {
|
U_BOOT_ENV_LOCATION(dataflash) = {
|
||||||
.location = ENVL_DATAFLASH,
|
.location = ENVL_DATAFLASH,
|
||||||
.get_char = env_get_char_spec,
|
.get_char = env_dataflash_get_char,
|
||||||
.load = env_relocate_spec,
|
.load = env_dataflash_load,
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_dataflash_save),
|
||||||
.init = env_init,
|
.init = env_dataflash_init,
|
||||||
};
|
};
|
||||||
|
|
16
env/eeprom.c
vendored
16
env/eeprom.c
vendored
|
@ -65,7 +65,7 @@ static int eeprom_bus_write(unsigned dev_addr, unsigned offset,
|
||||||
return rcode;
|
return rcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
uchar env_get_char_spec(int index)
|
static uchar env_eeprom_get_char(int index)
|
||||||
{
|
{
|
||||||
uchar c;
|
uchar c;
|
||||||
unsigned int off = CONFIG_ENV_OFFSET;
|
unsigned int off = CONFIG_ENV_OFFSET;
|
||||||
|
@ -80,7 +80,7 @@ uchar env_get_char_spec(int index)
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_eeprom_load(void)
|
||||||
{
|
{
|
||||||
char buf_env[CONFIG_ENV_SIZE];
|
char buf_env[CONFIG_ENV_SIZE];
|
||||||
unsigned int off = CONFIG_ENV_OFFSET;
|
unsigned int off = CONFIG_ENV_OFFSET;
|
||||||
|
@ -188,7 +188,7 @@ void env_relocate_spec(void)
|
||||||
env_import(buf_env, 1);
|
env_import(buf_env, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_eeprom_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
int rc;
|
int rc;
|
||||||
|
@ -237,7 +237,7 @@ int saveenv(void)
|
||||||
* We are still running from ROM, so data use is limited.
|
* We are still running from ROM, so data use is limited.
|
||||||
* Use a (moderately small) buffer on the stack
|
* Use a (moderately small) buffer on the stack
|
||||||
*/
|
*/
|
||||||
int env_init(void)
|
static int env_eeprom_init(void)
|
||||||
{
|
{
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
gd->env_valid = ENV_VALID;
|
gd->env_valid = ENV_VALID;
|
||||||
|
@ -246,8 +246,8 @@ int env_init(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(eeprom) = {
|
U_BOOT_ENV_LOCATION(eeprom) = {
|
||||||
.location = ENVL_EEPROM,
|
.location = ENVL_EEPROM,
|
||||||
.get_char = env_get_char_spec,
|
.get_char = env_eeprom_get_char,
|
||||||
.load = env_relocate_spec,
|
.load = env_eeprom_load,
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_eeprom_save),
|
||||||
.init = env_init,
|
.init = env_eeprom_init,
|
||||||
};
|
};
|
||||||
|
|
20
env/env.c
vendored
20
env/env.c
vendored
|
@ -143,3 +143,23 @@ int env_init_new(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned char env_get_char_spec(int index)
|
||||||
|
{
|
||||||
|
return *(uchar *)(gd->env_addr + index);
|
||||||
|
}
|
||||||
|
|
||||||
|
void env_relocate_spec(void)
|
||||||
|
{
|
||||||
|
env_load();
|
||||||
|
}
|
||||||
|
|
||||||
|
int saveenv(void)
|
||||||
|
{
|
||||||
|
return env_save();
|
||||||
|
}
|
||||||
|
|
||||||
|
int env_init(void)
|
||||||
|
{
|
||||||
|
return env_init_new();
|
||||||
|
}
|
||||||
|
|
13
env/ext4.c
vendored
13
env/ext4.c
vendored
|
@ -37,7 +37,7 @@ env_t *env_ptr;
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
int env_init(void)
|
static int env_ext4_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -47,7 +47,7 @@ int env_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_SAVEENV
|
#ifdef CONFIG_CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_ext4_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
struct blk_desc *dev_desc = NULL;
|
struct blk_desc *dev_desc = NULL;
|
||||||
|
@ -88,7 +88,7 @@ int saveenv(void)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_CMD_SAVEENV */
|
#endif /* CONFIG_CMD_SAVEENV */
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_ext4_load(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
||||||
struct blk_desc *dev_desc = NULL;
|
struct blk_desc *dev_desc = NULL;
|
||||||
|
@ -130,8 +130,7 @@ err_env_relocate:
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(ext4) = {
|
U_BOOT_ENV_LOCATION(ext4) = {
|
||||||
.location = ENVL_EXT4,
|
.location = ENVL_EXT4,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_ext4_load,
|
||||||
.load = env_relocate_spec,
|
.save = env_save_ptr(env_ext4_save),
|
||||||
.save = env_save_ptr(saveenv),
|
.init = env_ext4_init,
|
||||||
.init = env_init,
|
|
||||||
};
|
};
|
||||||
|
|
13
env/fat.c
vendored
13
env/fat.c
vendored
|
@ -37,7 +37,7 @@ env_t *env_ptr;
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
int env_init(void)
|
static int env_fat_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -47,7 +47,7 @@ int env_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_fat_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
struct blk_desc *dev_desc = NULL;
|
struct blk_desc *dev_desc = NULL;
|
||||||
|
@ -87,7 +87,7 @@ int saveenv(void)
|
||||||
#endif /* CMD_SAVEENV */
|
#endif /* CMD_SAVEENV */
|
||||||
|
|
||||||
#ifdef LOADENV
|
#ifdef LOADENV
|
||||||
void env_relocate_spec(void)
|
static void env_fat_load(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
||||||
struct blk_desc *dev_desc = NULL;
|
struct blk_desc *dev_desc = NULL;
|
||||||
|
@ -125,12 +125,11 @@ err_env_relocate:
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(fat) = {
|
U_BOOT_ENV_LOCATION(fat) = {
|
||||||
.location = ENVL_FAT,
|
.location = ENVL_FAT,
|
||||||
.get_char = env_get_char_spec,
|
|
||||||
#ifdef LOADENV
|
#ifdef LOADENV
|
||||||
.load = env_relocate_spec,
|
.load = env_fat_load,
|
||||||
#endif
|
#endif
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_fat_save),
|
||||||
#endif
|
#endif
|
||||||
.init = env_init,
|
.init = env_fat_init,
|
||||||
};
|
};
|
||||||
|
|
34
env/flash.c
vendored
34
env/flash.c
vendored
|
@ -50,30 +50,30 @@ char *env_name_spec = "Flash";
|
||||||
#ifdef ENV_IS_EMBEDDED
|
#ifdef ENV_IS_EMBEDDED
|
||||||
env_t *env_ptr = &environment;
|
env_t *env_ptr = &environment;
|
||||||
|
|
||||||
static env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR;
|
static __maybe_unused env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR;
|
||||||
|
|
||||||
#else /* ! ENV_IS_EMBEDDED */
|
#else /* ! ENV_IS_EMBEDDED */
|
||||||
|
|
||||||
env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
|
env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
|
||||||
static env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR;
|
static __maybe_unused env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR;
|
||||||
#endif /* ENV_IS_EMBEDDED */
|
#endif /* ENV_IS_EMBEDDED */
|
||||||
|
|
||||||
#if defined(CMD_SAVEENV) || defined(CONFIG_ENV_ADDR_REDUND)
|
|
||||||
/* CONFIG_ENV_ADDR is supposed to be on sector boundary */
|
/* CONFIG_ENV_ADDR is supposed to be on sector boundary */
|
||||||
static ulong end_addr = CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1;
|
static ulong __maybe_unused end_addr =
|
||||||
#endif
|
CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1;
|
||||||
|
|
||||||
#ifdef CONFIG_ENV_ADDR_REDUND
|
#ifdef CONFIG_ENV_ADDR_REDUND
|
||||||
static env_t *flash_addr_new = (env_t *)CONFIG_ENV_ADDR_REDUND;
|
|
||||||
|
static env_t __maybe_unused *flash_addr_new = (env_t *)CONFIG_ENV_ADDR_REDUND;
|
||||||
|
|
||||||
/* CONFIG_ENV_ADDR_REDUND is supposed to be on sector boundary */
|
/* CONFIG_ENV_ADDR_REDUND is supposed to be on sector boundary */
|
||||||
static ulong end_addr_new = CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1;
|
static ulong __maybe_unused end_addr_new =
|
||||||
|
CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1;
|
||||||
#endif /* CONFIG_ENV_ADDR_REDUND */
|
#endif /* CONFIG_ENV_ADDR_REDUND */
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_ENV_ADDR_REDUND
|
#ifdef CONFIG_ENV_ADDR_REDUND
|
||||||
#ifdef INITENV
|
#ifdef INITENV
|
||||||
int env_init(void)
|
static int env_flash_init(void)
|
||||||
{
|
{
|
||||||
int crc1_ok = 0, crc2_ok = 0;
|
int crc1_ok = 0, crc2_ok = 0;
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ int env_init(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_flash_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
char *saved_data = NULL;
|
char *saved_data = NULL;
|
||||||
|
@ -224,7 +224,7 @@ done:
|
||||||
#else /* ! CONFIG_ENV_ADDR_REDUND */
|
#else /* ! CONFIG_ENV_ADDR_REDUND */
|
||||||
|
|
||||||
#ifdef INITENV
|
#ifdef INITENV
|
||||||
int env_init(void)
|
static int env_flash_init(void)
|
||||||
{
|
{
|
||||||
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
|
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
|
||||||
gd->env_addr = (ulong)&(env_ptr->data);
|
gd->env_addr = (ulong)&(env_ptr->data);
|
||||||
|
@ -239,7 +239,7 @@ int env_init(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_flash_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
int rc = 1;
|
int rc = 1;
|
||||||
|
@ -309,7 +309,8 @@ done:
|
||||||
|
|
||||||
#endif /* CONFIG_ENV_ADDR_REDUND */
|
#endif /* CONFIG_ENV_ADDR_REDUND */
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
#ifdef LOADENV
|
||||||
|
static void env_flash_load(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_ENV_ADDR_REDUND
|
#ifdef CONFIG_ENV_ADDR_REDUND
|
||||||
if (gd->env_addr != (ulong)&(flash_addr->data)) {
|
if (gd->env_addr != (ulong)&(flash_addr->data)) {
|
||||||
|
@ -354,16 +355,17 @@ void env_relocate_spec(void)
|
||||||
|
|
||||||
env_import((char *)flash_addr, 1);
|
env_import((char *)flash_addr, 1);
|
||||||
}
|
}
|
||||||
|
#endif /* LOADENV */
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(flash) = {
|
U_BOOT_ENV_LOCATION(flash) = {
|
||||||
.location = ENVL_FLASH,
|
.location = ENVL_FLASH,
|
||||||
#ifdef LOADENV
|
#ifdef LOADENV
|
||||||
.load = env_relocate_spec,
|
.load = env_flash_load,
|
||||||
#endif
|
#endif
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_flash_save),
|
||||||
#endif
|
#endif
|
||||||
#ifdef INITENV
|
#ifdef INITENV
|
||||||
.init = env_init,
|
.init = env_flash_init,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
19
env/mmc.c
vendored
19
env/mmc.c
vendored
|
@ -82,7 +82,7 @@ __weak int mmc_get_env_dev(void)
|
||||||
return CONFIG_SYS_MMC_ENV_DEV;
|
return CONFIG_SYS_MMC_ENV_DEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
int env_init(void)
|
static int env_mmc_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -145,7 +145,7 @@ static void fini_mmc_for_env(struct mmc *mmc)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_SAVEENV
|
#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_SPL_BUILD)
|
||||||
static inline int write_env(struct mmc *mmc, unsigned long size,
|
static inline int write_env(struct mmc *mmc, unsigned long size,
|
||||||
unsigned long offset, const void *buffer)
|
unsigned long offset, const void *buffer)
|
||||||
{
|
{
|
||||||
|
@ -160,7 +160,7 @@ static inline int write_env(struct mmc *mmc, unsigned long size,
|
||||||
return (n == blk_cnt) ? 0 : -1;
|
return (n == blk_cnt) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_mmc_save(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
||||||
int dev = mmc_get_env_dev();
|
int dev = mmc_get_env_dev();
|
||||||
|
@ -207,7 +207,7 @@ fini:
|
||||||
fini_mmc_for_env(mmc);
|
fini_mmc_for_env(mmc);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_CMD_SAVEENV */
|
#endif /* CONFIG_CMD_SAVEENV && !CONFIG_SPL_BUILD */
|
||||||
|
|
||||||
static inline int read_env(struct mmc *mmc, unsigned long size,
|
static inline int read_env(struct mmc *mmc, unsigned long size,
|
||||||
unsigned long offset, const void *buffer)
|
unsigned long offset, const void *buffer)
|
||||||
|
@ -224,7 +224,7 @@ static inline int read_env(struct mmc *mmc, unsigned long size,
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ENV_OFFSET_REDUND
|
#ifdef CONFIG_ENV_OFFSET_REDUND
|
||||||
void env_relocate_spec(void)
|
static void env_mmc_load(void)
|
||||||
{
|
{
|
||||||
#if !defined(ENV_IS_EMBEDDED)
|
#if !defined(ENV_IS_EMBEDDED)
|
||||||
struct mmc *mmc;
|
struct mmc *mmc;
|
||||||
|
@ -284,7 +284,7 @@ err:
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#else /* ! CONFIG_ENV_OFFSET_REDUND */
|
#else /* ! CONFIG_ENV_OFFSET_REDUND */
|
||||||
void env_relocate_spec(void)
|
static void env_mmc_load(void)
|
||||||
{
|
{
|
||||||
#if !defined(ENV_IS_EMBEDDED)
|
#if !defined(ENV_IS_EMBEDDED)
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
||||||
|
@ -327,10 +327,9 @@ err:
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(mmc) = {
|
U_BOOT_ENV_LOCATION(mmc) = {
|
||||||
.location = ENVL_MMC,
|
.location = ENVL_MMC,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_mmc_load,
|
||||||
.load = env_relocate_spec,
|
|
||||||
#ifndef CONFIG_SPL_BUILD
|
#ifndef CONFIG_SPL_BUILD
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_mmc_save),
|
||||||
#endif
|
#endif
|
||||||
.init = env_init,
|
.init = env_mmc_init,
|
||||||
};
|
};
|
||||||
|
|
14
env/nand.c
vendored
14
env/nand.c
vendored
|
@ -64,7 +64,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
* This way the SPL loads not only the U-Boot image from NAND but
|
* This way the SPL loads not only the U-Boot image from NAND but
|
||||||
* also the environment.
|
* also the environment.
|
||||||
*/
|
*/
|
||||||
int env_init(void)
|
static int env_nand_init(void)
|
||||||
{
|
{
|
||||||
#if defined(ENV_IS_EMBEDDED) || defined(CONFIG_NAND_ENV_DST)
|
#if defined(ENV_IS_EMBEDDED) || defined(CONFIG_NAND_ENV_DST)
|
||||||
int crc1_ok = 0, crc2_ok = 0;
|
int crc1_ok = 0, crc2_ok = 0;
|
||||||
|
@ -185,7 +185,7 @@ static int erase_and_write_env(const struct nand_env_location *location,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_nand_save(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
||||||
|
@ -317,7 +317,7 @@ int get_nand_env_oob(struct mtd_info *mtd, unsigned long *result)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ENV_OFFSET_REDUND
|
#ifdef CONFIG_ENV_OFFSET_REDUND
|
||||||
void env_relocate_spec(void)
|
static void env_nand_load(void)
|
||||||
{
|
{
|
||||||
#if !defined(ENV_IS_EMBEDDED)
|
#if !defined(ENV_IS_EMBEDDED)
|
||||||
int read1_fail = 0, read2_fail = 0;
|
int read1_fail = 0, read2_fail = 0;
|
||||||
|
@ -365,7 +365,7 @@ done:
|
||||||
* device i.e., nand_dev_desc + 0. This is also the behaviour using
|
* device i.e., nand_dev_desc + 0. This is also the behaviour using
|
||||||
* the new NAND code.
|
* the new NAND code.
|
||||||
*/
|
*/
|
||||||
void env_relocate_spec(void)
|
static void env_nand_load(void)
|
||||||
{
|
{
|
||||||
#if !defined(ENV_IS_EMBEDDED)
|
#if !defined(ENV_IS_EMBEDDED)
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -398,9 +398,9 @@ void env_relocate_spec(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(nand) = {
|
U_BOOT_ENV_LOCATION(nand) = {
|
||||||
.location = ENVL_NAND,
|
.location = ENVL_NAND,
|
||||||
.load = env_relocate_spec,
|
.load = env_nand_load,
|
||||||
#if defined(CMD_SAVEENV)
|
#if defined(CMD_SAVEENV)
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_nand_save),
|
||||||
#endif
|
#endif
|
||||||
.init = env_init,
|
.init = env_nand_init,
|
||||||
};
|
};
|
||||||
|
|
8
env/nowhere.c
vendored
8
env/nowhere.c
vendored
|
@ -17,7 +17,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
env_t *env_ptr;
|
env_t *env_ptr;
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_nowhere_load(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ void env_relocate_spec(void)
|
||||||
*
|
*
|
||||||
* We are still running from ROM, so data use is limited
|
* We are still running from ROM, so data use is limited
|
||||||
*/
|
*/
|
||||||
int env_init(void)
|
static int env_nowhere_init(void)
|
||||||
{
|
{
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
gd->env_valid = 0;
|
gd->env_valid = 0;
|
||||||
|
@ -36,6 +36,6 @@ int env_init(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(nowhere) = {
|
U_BOOT_ENV_LOCATION(nowhere) = {
|
||||||
.location = ENVL_NOWHERE,
|
.location = ENVL_NOWHERE,
|
||||||
.load = env_relocate_spec,
|
.load = env_nowhere_load,
|
||||||
.init = env_init,
|
.init = env_nowhere_init,
|
||||||
};
|
};
|
||||||
|
|
16
env/nvram.c
vendored
16
env/nvram.c
vendored
|
@ -44,7 +44,7 @@ env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
|
||||||
char *env_name_spec = "NVRAM";
|
char *env_name_spec = "NVRAM";
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
|
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
|
||||||
uchar env_get_char_spec(int index)
|
static uchar env_nvram_get_char(int index)
|
||||||
{
|
{
|
||||||
uchar c;
|
uchar c;
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ uchar env_get_char_spec(int index)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_nvram_load(void)
|
||||||
{
|
{
|
||||||
char buf[CONFIG_ENV_SIZE];
|
char buf[CONFIG_ENV_SIZE];
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ void env_relocate_spec(void)
|
||||||
env_import(buf, 1);
|
env_import(buf, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_nvram_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
int rcode = 0;
|
int rcode = 0;
|
||||||
|
@ -89,7 +89,7 @@ int saveenv(void)
|
||||||
*
|
*
|
||||||
* We are still running from ROM, so data use is limited
|
* We are still running from ROM, so data use is limited
|
||||||
*/
|
*/
|
||||||
int env_init(void)
|
static int env_nvram_init(void)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_SYS_NVRAM_ACCESS_ROUTINE)
|
#if defined(CONFIG_SYS_NVRAM_ACCESS_ROUTINE)
|
||||||
ulong crc;
|
ulong crc;
|
||||||
|
@ -116,9 +116,9 @@ int env_init(void)
|
||||||
U_BOOT_ENV_LOCATION(nvram) = {
|
U_BOOT_ENV_LOCATION(nvram) = {
|
||||||
.location = ENVL_NVRAM,
|
.location = ENVL_NVRAM,
|
||||||
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
|
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
|
||||||
.get_char = env_get_char_spec,
|
.get_char = env_nvram_get_char,
|
||||||
#endif
|
#endif
|
||||||
.load = env_relocate_spec,
|
.load = env_nvram_load,
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_nvram_save),
|
||||||
.init = env_init,
|
.init = env_nvram_init,
|
||||||
};
|
};
|
||||||
|
|
13
env/onenand.c
vendored
13
env/onenand.c
vendored
|
@ -28,7 +28,7 @@ char *env_name_spec = "OneNAND";
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_onenand_load(void)
|
||||||
{
|
{
|
||||||
struct mtd_info *mtd = &onenand_mtd;
|
struct mtd_info *mtd = &onenand_mtd;
|
||||||
#ifdef CONFIG_ENV_ADDR_FLEX
|
#ifdef CONFIG_ENV_ADDR_FLEX
|
||||||
|
@ -63,7 +63,7 @@ void env_relocate_spec(void)
|
||||||
gd->env_valid = ENV_VALID;
|
gd->env_valid = ENV_VALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_onenand_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -106,7 +106,7 @@ int saveenv(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int env_init(void)
|
static int env_onenand_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -117,8 +117,7 @@ int env_init(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(onenand) = {
|
U_BOOT_ENV_LOCATION(onenand) = {
|
||||||
.location = ENVL_ONENAND,
|
.location = ENVL_ONENAND,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_onenand_load,
|
||||||
.load = env_relocate_spec,
|
.save = env_save_ptr(env_onenand_save),
|
||||||
.save = env_save_ptr(saveenv),
|
.init = env_onenand_init,
|
||||||
.init = env_init,
|
|
||||||
};
|
};
|
||||||
|
|
13
env/remote.c
vendored
13
env/remote.c
vendored
|
@ -25,7 +25,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||||
#define CONFIG_ENV_OFFSET 0
|
#define CONFIG_ENV_OFFSET 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int env_init(void)
|
static int env_remote_init(void)
|
||||||
{
|
{
|
||||||
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
|
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
|
||||||
gd->env_addr = (ulong)&(env_ptr->data);
|
gd->env_addr = (ulong)&(env_ptr->data);
|
||||||
|
@ -39,7 +39,7 @@ int env_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_SAVEENV
|
#ifdef CONFIG_CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_remote_save(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE
|
#ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE
|
||||||
printf("Can not support the 'saveenv' when boot from SRIO or PCIE!\n");
|
printf("Can not support the 'saveenv' when boot from SRIO or PCIE!\n");
|
||||||
|
@ -50,7 +50,7 @@ int saveenv(void)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_CMD_SAVEENV */
|
#endif /* CONFIG_CMD_SAVEENV */
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_remote_load(void)
|
||||||
{
|
{
|
||||||
#ifndef ENV_IS_EMBEDDED
|
#ifndef ENV_IS_EMBEDDED
|
||||||
env_import((char *)env_ptr, 1);
|
env_import((char *)env_ptr, 1);
|
||||||
|
@ -59,8 +59,7 @@ void env_relocate_spec(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(remote) = {
|
U_BOOT_ENV_LOCATION(remote) = {
|
||||||
.location = ENVL_REMOTE,
|
.location = ENVL_REMOTE,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_remote_load,
|
||||||
.load = env_relocate_spec,
|
.save = env_save_ptr(env_remote_save),
|
||||||
.save = env_save_ptr(saveenv),
|
.init = env_remote_init,
|
||||||
.init = env_init,
|
|
||||||
};
|
};
|
||||||
|
|
13
env/sata.c
vendored
13
env/sata.c
vendored
|
@ -33,7 +33,7 @@ __weak int sata_get_env_dev(void)
|
||||||
return CONFIG_SYS_SATA_ENV_DEV;
|
return CONFIG_SYS_SATA_ENV_DEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
int env_init(void)
|
static int env_sata_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -56,7 +56,7 @@ static inline int write_env(struct blk_desc *sata, unsigned long size,
|
||||||
return (n == blk_cnt) ? 0 : -1;
|
return (n == blk_cnt) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int saveenv(void)
|
static int env_sata_save(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
||||||
struct blk_desc *sata = NULL;
|
struct blk_desc *sata = NULL;
|
||||||
|
@ -102,7 +102,7 @@ static inline int read_env(struct blk_desc *sata, unsigned long size,
|
||||||
return (n == blk_cnt) ? 0 : -1;
|
return (n == blk_cnt) ? 0 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_sata_load(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
||||||
struct blk_desc *sata = NULL;
|
struct blk_desc *sata = NULL;
|
||||||
|
@ -128,8 +128,7 @@ void env_relocate_spec(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(sata) = {
|
U_BOOT_ENV_LOCATION(sata) = {
|
||||||
.location = ENVL_ESATA,
|
.location = ENVL_ESATA,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_sata_load,
|
||||||
.load = env_relocate_spec,
|
.save = env_save_ptr(env_sata_save),
|
||||||
.save = env_save_ptr(saveenv),
|
.init = env_sata_init,
|
||||||
.init = env_init,
|
|
||||||
};
|
};
|
||||||
|
|
17
env/sf.c
vendored
17
env/sf.c
vendored
|
@ -84,7 +84,7 @@ static int setup_flash_device(void)
|
||||||
|
|
||||||
#if defined(CONFIG_ENV_OFFSET_REDUND)
|
#if defined(CONFIG_ENV_OFFSET_REDUND)
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_sf_save(void)
|
||||||
{
|
{
|
||||||
env_t env_new;
|
env_t env_new;
|
||||||
char *saved_buffer = NULL, flag = OBSOLETE_FLAG;
|
char *saved_buffer = NULL, flag = OBSOLETE_FLAG;
|
||||||
|
@ -164,7 +164,7 @@ int saveenv(void)
|
||||||
}
|
}
|
||||||
#endif /* CMD_SAVEENV */
|
#endif /* CMD_SAVEENV */
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_sf_load(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int crc1_ok = 0, crc2_ok = 0;
|
int crc1_ok = 0, crc2_ok = 0;
|
||||||
|
@ -249,7 +249,7 @@ out:
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
int saveenv(void)
|
static int env_sf_save(void)
|
||||||
{
|
{
|
||||||
u32 saved_size, saved_offset, sector;
|
u32 saved_size, saved_offset, sector;
|
||||||
char *saved_buffer = NULL;
|
char *saved_buffer = NULL;
|
||||||
|
@ -310,7 +310,7 @@ int saveenv(void)
|
||||||
}
|
}
|
||||||
#endif /* CMD_SAVEENV */
|
#endif /* CMD_SAVEENV */
|
||||||
|
|
||||||
void env_relocate_spec(void)
|
static void env_sf_load(void)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
|
@ -344,7 +344,7 @@ out:
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int env_init(void)
|
static int env_sf_init(void)
|
||||||
{
|
{
|
||||||
/* SPI flash isn't usable before relocation */
|
/* SPI flash isn't usable before relocation */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -355,10 +355,9 @@ int env_init(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(sf) = {
|
U_BOOT_ENV_LOCATION(sf) = {
|
||||||
.location = ENVL_SPI_FLASH,
|
.location = ENVL_SPI_FLASH,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_sf_load,
|
||||||
.load = env_relocate_spec,
|
|
||||||
#ifdef CMD_SAVEENV
|
#ifdef CMD_SAVEENV
|
||||||
.save = env_save_ptr(saveenv),
|
.save = env_save_ptr(env_sf_save),
|
||||||
#endif
|
#endif
|
||||||
.init = env_init,
|
.init = env_sf_init,
|
||||||
};
|
};
|
||||||
|
|
17
env/ubi.c
vendored
17
env/ubi.c
vendored
|
@ -22,7 +22,7 @@ env_t *env_ptr;
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
int env_init(void)
|
static int env_ubi_init(void)
|
||||||
{
|
{
|
||||||
/* use default */
|
/* use default */
|
||||||
gd->env_addr = (ulong)&default_environment[0];
|
gd->env_addr = (ulong)&default_environment[0];
|
||||||
|
@ -33,7 +33,7 @@ int env_init(void)
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_SAVEENV
|
#ifdef CONFIG_CMD_SAVEENV
|
||||||
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||||
int saveenv(void)
|
static int env_ubi_save(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -75,7 +75,7 @@ int saveenv(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else /* ! CONFIG_SYS_REDUNDAND_ENVIRONMENT */
|
#else /* ! CONFIG_SYS_REDUNDAND_ENVIRONMENT */
|
||||||
int saveenv(void)
|
static int env_ubi_save(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
ALLOC_CACHE_ALIGN_BUFFER(env_t, env_new, 1);
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -104,7 +104,7 @@ int saveenv(void)
|
||||||
#endif /* CONFIG_CMD_SAVEENV */
|
#endif /* CONFIG_CMD_SAVEENV */
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||||
void env_relocate_spec(void)
|
static void env_ubi_load(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, env1_buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, env1_buf, CONFIG_ENV_SIZE);
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, env2_buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, env2_buf, CONFIG_ENV_SIZE);
|
||||||
|
@ -146,7 +146,7 @@ void env_relocate_spec(void)
|
||||||
env_import_redund((char *)tmp_env1, (char *)tmp_env2);
|
env_import_redund((char *)tmp_env1, (char *)tmp_env2);
|
||||||
}
|
}
|
||||||
#else /* ! CONFIG_SYS_REDUNDAND_ENVIRONMENT */
|
#else /* ! CONFIG_SYS_REDUNDAND_ENVIRONMENT */
|
||||||
void env_relocate_spec(void)
|
static void env_ubi_load(void)
|
||||||
{
|
{
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
|
||||||
|
|
||||||
|
@ -180,8 +180,7 @@ void env_relocate_spec(void)
|
||||||
|
|
||||||
U_BOOT_ENV_LOCATION(ubi) = {
|
U_BOOT_ENV_LOCATION(ubi) = {
|
||||||
.location = ENVL_UBI,
|
.location = ENVL_UBI,
|
||||||
.get_char = env_get_char_spec,
|
.load = env_ubi_load,
|
||||||
.load = env_relocate_spec,
|
.save = env_save_ptr(env_ubi_save),
|
||||||
.save = env_save_ptr(saveenv),
|
.init = env_ubi_init,
|
||||||
.init = env_init,
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue