mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-07-02 20:30:46 +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
34
env/flash.c
vendored
34
env/flash.c
vendored
|
@ -50,30 +50,30 @@ char *env_name_spec = "Flash";
|
|||
#ifdef ENV_IS_EMBEDDED
|
||||
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 */
|
||||
|
||||
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 */
|
||||
|
||||
#if defined(CMD_SAVEENV) || defined(CONFIG_ENV_ADDR_REDUND)
|
||||
/* CONFIG_ENV_ADDR is supposed to be on sector boundary */
|
||||
static ulong end_addr = CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1;
|
||||
#endif
|
||||
static ulong __maybe_unused end_addr =
|
||||
CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1;
|
||||
|
||||
#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 */
|
||||
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 */
|
||||
|
||||
|
||||
#ifdef CONFIG_ENV_ADDR_REDUND
|
||||
#ifdef INITENV
|
||||
int env_init(void)
|
||||
static int env_flash_init(void)
|
||||
{
|
||||
int crc1_ok = 0, crc2_ok = 0;
|
||||
|
||||
|
@ -119,7 +119,7 @@ int env_init(void)
|
|||
#endif
|
||||
|
||||
#ifdef CMD_SAVEENV
|
||||
int saveenv(void)
|
||||
static int env_flash_save(void)
|
||||
{
|
||||
env_t env_new;
|
||||
char *saved_data = NULL;
|
||||
|
@ -224,7 +224,7 @@ done:
|
|||
#else /* ! CONFIG_ENV_ADDR_REDUND */
|
||||
|
||||
#ifdef INITENV
|
||||
int env_init(void)
|
||||
static int env_flash_init(void)
|
||||
{
|
||||
if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) {
|
||||
gd->env_addr = (ulong)&(env_ptr->data);
|
||||
|
@ -239,7 +239,7 @@ int env_init(void)
|
|||
#endif
|
||||
|
||||
#ifdef CMD_SAVEENV
|
||||
int saveenv(void)
|
||||
static int env_flash_save(void)
|
||||
{
|
||||
env_t env_new;
|
||||
int rc = 1;
|
||||
|
@ -309,7 +309,8 @@ done:
|
|||
|
||||
#endif /* CONFIG_ENV_ADDR_REDUND */
|
||||
|
||||
void env_relocate_spec(void)
|
||||
#ifdef LOADENV
|
||||
static void env_flash_load(void)
|
||||
{
|
||||
#ifdef CONFIG_ENV_ADDR_REDUND
|
||||
if (gd->env_addr != (ulong)&(flash_addr->data)) {
|
||||
|
@ -354,16 +355,17 @@ void env_relocate_spec(void)
|
|||
|
||||
env_import((char *)flash_addr, 1);
|
||||
}
|
||||
#endif /* LOADENV */
|
||||
|
||||
U_BOOT_ENV_LOCATION(flash) = {
|
||||
.location = ENVL_FLASH,
|
||||
#ifdef LOADENV
|
||||
.load = env_relocate_spec,
|
||||
.load = env_flash_load,
|
||||
#endif
|
||||
#ifdef CMD_SAVEENV
|
||||
.save = env_save_ptr(saveenv),
|
||||
.save = env_save_ptr(env_flash_save),
|
||||
#endif
|
||||
#ifdef INITENV
|
||||
.init = env_init,
|
||||
.init = env_flash_init,
|
||||
#endif
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue