X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=env%2Fnvram.c;h=1a9fcf1c069ad110b21884b5040745c4caa1d717;hb=18b9c98024ec89e00a57707f07ff6ada06089d26;hp=0f4b491fd3b688868d21fcae80a918565fcbda37;hpb=ac358beb85362fb2fac47aaec40a7e1bca49656c;p=oweals%2Fu-boot.git diff --git a/env/nvram.c b/env/nvram.c index 0f4b491fd3..1a9fcf1c06 100644 --- a/env/nvram.c +++ b/env/nvram.c @@ -1,11 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2000-2010 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH * Andreas Heppel - - * SPDX-License-Identifier: GPL-2.0+ */ /* @@ -26,23 +25,27 @@ #include #include -#include +#include +#include #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; #ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE extern void *nvram_read(void *dest, const long src, size_t count); extern void nvram_write(long dest, const void *src, size_t count); -env_t *env_ptr; #else -env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR; +static env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR; #endif #ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE -static uchar env_nvram_get_char(int index) +/** Call this function from overridden env_get_char_spec() if you need + * this functionality. + */ +int env_nvram_get_char(int index) { uchar c; @@ -52,7 +55,7 @@ static uchar env_nvram_get_char(int index) } #endif -static void env_nvram_load(void) +static int env_nvram_load(void) { char buf[CONFIG_ENV_SIZE]; @@ -61,7 +64,7 @@ static void env_nvram_load(void) #else memcpy(buf, (void *)CONFIG_ENV_ADDR, CONFIG_ENV_SIZE); #endif - env_import(buf, 1); + return env_import(buf, 1); } static int env_nvram_save(void) @@ -105,7 +108,7 @@ static int env_nvram_init(void) gd->env_valid = ENV_VALID; } else { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } return 0; @@ -114,9 +117,6 @@ static int env_nvram_init(void) U_BOOT_ENV_LOCATION(nvram) = { .location = ENVL_NVRAM, ENV_NAME("NVRAM") -#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE - .get_char = env_nvram_get_char, -#endif .load = env_nvram_load, .save = env_save_ptr(env_nvram_save), .init = env_nvram_init,