projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'u-boot-stm32-20190712' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
[oweals/u-boot.git]
/
env
/
nvram.c
diff --git
a/env/nvram.c
b/env/nvram.c
index d046c9393cff7bbdbd24de996884f36e8538e9f5..df1b37913d57d8f0a03edbd6cb5ac97e75aa6676 100644
(file)
--- 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 <www.elinos.com>
* Andreas Heppel <aheppel@sysgo.de>
/*
* (C) Copyright 2000-2010
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
* Andreas Heppel <aheppel@sysgo.de>
-
- * SPDX-License-Identifier: GPL-2.0+
*/
/*
*/
/*
@@
-36,15
+35,15
@@
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);
#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;
#endif
#else
env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
#endif
-char *env_name_spec = "NVRAM";
-
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
-uchar env_get_char_spec(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;
{
uchar c;
@@
-54,7
+53,7
@@
uchar env_get_char_spec(int index)
}
#endif
}
#endif
-
void env_relocate_spec
(void)
+
static int env_nvram_load
(void)
{
char buf[CONFIG_ENV_SIZE];
{
char buf[CONFIG_ENV_SIZE];
@@
-63,10
+62,10
@@
void env_relocate_spec(void)
#else
memcpy(buf, (void *)CONFIG_ENV_ADDR, CONFIG_ENV_SIZE);
#endif
#else
memcpy(buf, (void *)CONFIG_ENV_ADDR, CONFIG_ENV_SIZE);
#endif
- env_import(buf, 1);
+
return
env_import(buf, 1);
}
}
-
int saveenv
(void)
+
static int env_nvram_save
(void)
{
env_t env_new;
int rcode = 0;
{
env_t env_new;
int rcode = 0;
@@
-89,7
+88,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)
ulong crc;
{
#if defined(CONFIG_SYS_NVRAM_ACCESS_ROUTINE)
ulong crc;
@@
-107,8
+106,16
@@
int env_init(void)
gd->env_valid = ENV_VALID;
} else {
gd->env_addr = (ulong)&default_environment[0];
gd->env_valid = ENV_VALID;
} else {
gd->env_addr = (ulong)&default_environment[0];
- gd->env_valid =
0
;
+ gd->env_valid =
ENV_INVALID
;
}
return 0;
}
}
return 0;
}
+
+U_BOOT_ENV_LOCATION(nvram) = {
+ .location = ENVL_NVRAM,
+ ENV_NAME("NVRAM")
+ .load = env_nvram_load,
+ .save = env_save_ptr(env_nvram_save),
+ .init = env_nvram_init,
+};