summaryrefslogtreecommitdiff
path: root/env
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2020-04-24 13:04:38 -0400
committerTom Rini <[email protected]>2020-04-24 13:04:38 -0400
commit18b9c98024ec89e00a57707f07ff6ada06089d26 (patch)
tree60b4659a673d7a9dff309ee0d0b324c242a53cfc /env
parentb897306341024695d17296efc1f9d83d06368209 (diff)
parent08140dba0f539842d4836afb56fe43a33d8ba045 (diff)
Merge branch '2020-04-24-master-imports'
- Assorted minor bugfixes. - Resync fixdep with Linux v5.7-rc1 - Numerous changes to reduce SPL in various cases including when we have read-only env support. - Allow mkimage to align the header on FIT images to a specific size.
Diffstat (limited to 'env')
-rw-r--r--env/Kconfig3
-rw-r--r--env/Makefile2
-rw-r--r--env/callback.c2
-rw-r--r--env/ext4.c4
-rw-r--r--env/fat.c9
-rw-r--r--env/flags.c1
-rw-r--r--env/sf.c12
7 files changed, 9 insertions, 24 deletions
diff --git a/env/Kconfig b/env/Kconfig
index 8ab7be11c5b..af63ac52f7f 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -3,6 +3,9 @@ menu "Environment"
config ENV_SUPPORT
def_bool y
+config SAVEENV
+ def_bool y if CMD_SAVEENV
+
config ENV_IS_NOWHERE
bool "Environment is not stored"
default y if !ENV_IS_IN_EEPROM && !ENV_IS_IN_EXT4 && \
diff --git a/env/Makefile b/env/Makefile
index e2a165b8f1b..c4ad6543286 100644
--- a/env/Makefile
+++ b/env/Makefile
@@ -7,9 +7,9 @@ obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += common.o
obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += env.o
obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += attr.o
obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += flags.o
-obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += callback.o
ifndef CONFIG_SPL_BUILD
+obj-y += callback.o
obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
extra-$(CONFIG_ENV_IS_EMBEDDED) += embedded.o
obj-$(CONFIG_ENV_IS_IN_EEPROM) += embedded.o
diff --git a/env/callback.c b/env/callback.c
index f0904cfdc53..4054b9ef58b 100644
--- a/env/callback.c
+++ b/env/callback.c
@@ -55,6 +55,8 @@ void env_callback_init(struct env_entry *var_entry)
first_call = 0;
}
+ var_entry->callback = NULL;
+
/* look in the ".callbacks" var for a reference to this variable */
if (callback_list != NULL)
ret = env_attr_lookup(callback_list, var_name, callback_name);
diff --git a/env/ext4.c b/env/ext4.c
index 1f6b1b5bd81..911e19c6d3d 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -41,7 +41,6 @@ __weak const char *env_ext4_get_dev_part(void)
return (const char *)CONFIG_ENV_EXT4_DEVICE_AND_PART;
}
-#ifdef CONFIG_CMD_SAVEENV
static int env_ext4_save(void)
{
env_t env_new;
@@ -83,7 +82,6 @@ static int env_ext4_save(void)
puts("done\n");
return 0;
}
-#endif /* CONFIG_CMD_SAVEENV */
static int env_ext4_load(void)
{
@@ -137,5 +135,5 @@ U_BOOT_ENV_LOCATION(ext4) = {
.location = ENVL_EXT4,
ENV_NAME("EXT4")
.load = env_ext4_load,
- .save = env_save_ptr(env_ext4_save),
+ .save = ENV_SAVE_PTR(env_ext4_save),
};
diff --git a/env/fat.c b/env/fat.c
index 1836556f361..cf2e5e2b26e 100644
--- a/env/fat.c
+++ b/env/fat.c
@@ -26,12 +26,8 @@
# endif
#else
# define LOADENV
-# if defined(CONFIG_CMD_SAVEENV)
-# define CMD_SAVEENV
-# endif
#endif
-#ifdef CMD_SAVEENV
static int env_fat_save(void)
{
env_t __aligned(ARCH_DMA_MINALIGN) env_new;
@@ -76,7 +72,6 @@ static int env_fat_save(void)
return 0;
}
-#endif /* CMD_SAVEENV */
#ifdef LOADENV
static int env_fat_load(void)
@@ -135,7 +130,5 @@ U_BOOT_ENV_LOCATION(fat) = {
#ifdef LOADENV
.load = env_fat_load,
#endif
-#ifdef CMD_SAVEENV
- .save = env_save_ptr(env_fat_save),
-#endif
+ .save = ENV_SAVE_PTR(env_fat_save),
};
diff --git a/env/flags.c b/env/flags.c
index 418d6cc7425..b88fe7ba9c8 100644
--- a/env/flags.c
+++ b/env/flags.c
@@ -457,7 +457,6 @@ static int set_flags(const char *name, const char *value, void *priv)
e.key = name;
e.data = NULL;
- e.callback = NULL;
hsearch_r(e, ENV_FIND, &ep, &env_htab, 0);
/* does the env variable actually exist? */
diff --git a/env/sf.c b/env/sf.c
index 5ef40552194..22b70ad3197 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -21,16 +21,12 @@
#include <u-boot/crc.h>
#ifndef CONFIG_SPL_BUILD
-#define CMD_SAVEENV
#define INITENV
#endif
#ifdef CONFIG_ENV_OFFSET_REDUND
-#ifdef CMD_SAVEENV
static ulong env_offset = CONFIG_ENV_OFFSET;
static ulong env_new_offset = CONFIG_ENV_OFFSET_REDUND;
-#endif
-
#endif /* CONFIG_ENV_OFFSET_REDUND */
DECLARE_GLOBAL_DATA_PTR;
@@ -69,7 +65,6 @@ static int setup_flash_device(void)
}
#if defined(CONFIG_ENV_OFFSET_REDUND)
-#ifdef CMD_SAVEENV
static int env_sf_save(void)
{
env_t env_new;
@@ -148,7 +143,6 @@ static int env_sf_save(void)
return ret;
}
-#endif /* CMD_SAVEENV */
static int env_sf_load(void)
{
@@ -187,7 +181,6 @@ out:
return ret;
}
#else
-#ifdef CMD_SAVEENV
static int env_sf_save(void)
{
u32 saved_size, saved_offset, sector;
@@ -247,7 +240,6 @@ static int env_sf_save(void)
return ret;
}
-#endif /* CMD_SAVEENV */
static int env_sf_load(void)
{
@@ -313,9 +305,7 @@ U_BOOT_ENV_LOCATION(sf) = {
.location = ENVL_SPI_FLASH,
ENV_NAME("SPI Flash")
.load = env_sf_load,
-#ifdef CMD_SAVEENV
- .save = env_save_ptr(env_sf_save),
-#endif
+ .save = ENV_SAVE_PTR(env_sf_save),
#if defined(INITENV) && (CONFIG_ENV_ADDR != 0x0)
.init = env_sf_init,
#endif