summaryrefslogtreecommitdiff
path: root/env/sf.c
diff options
context:
space:
mode:
authorYaniv Levinsky <yaniv.levinsky@compulab.co.il>2018-06-24 19:16:57 +0300
committerTom Rini <trini@konsulko.com>2018-07-19 16:17:58 -0400
commitc5d548a9f881b2268f1d81dab9cd329ae336607e (patch)
tree5a0e567d718a3d1816ab6ce8145be83067bca46b /env/sf.c
parent5a04264ecf5f0f853f2d562b4c5efb139d3d4a9d (diff)
downloadu-boot-c5d548a9f881b2268f1d81dab9cd329ae336607e.tar.gz
u-boot-c5d548a9f881b2268f1d81dab9cd329ae336607e.tar.bz2
u-boot-c5d548a9f881b2268f1d81dab9cd329ae336607e.zip
env: common: accept flags on reset to default env
The function set_default_env() sets the hashtable flags for import_r(). Formally set_default_env() doesn't accept flags from its callers. In practice the caller can (un)set the H_INTERACTIVE flag, but it has to be done using the first character of the function's string argument. Other flags like H_FORCE can't be set by the caller. Change the function to accept flags argument. The benefits are: 1. The caller will have to explicitly set the H_INTERACTIVE flag, instead of un-setting it using a special char in a string. 2. Add the ability to propagate flags from the caller to himport(), especially the H_FORCE flag from do_env_default() in nvedit.c that currently gets ignored for "env default -a -f" commands. 3. Flags and messages will not be coupled together. A caller will be able to set flags without passing a string and vice versa. Please note: The propagation of H_FORCE from do_env_default() does not introduce any functional changes, because currently himport_r() is set to destroy the old environment regardless if H_FORCE flag is set or not. More changes are needed to utilize the propagation of H_FORCE. Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Diffstat (limited to 'env/sf.c')
-rw-r--r--env/sf.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/env/sf.c b/env/sf.c
index 7f7f731992..494510533a 100644
--- a/env/sf.c
+++ b/env/sf.c
@@ -60,7 +60,7 @@ static int setup_flash_device(void)
ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
0, 0, &new);
if (ret) {
- set_default_env("!spi_flash_probe_bus_cs() failed");
+ set_default_env("spi_flash_probe_bus_cs() failed", 0);
return ret;
}
@@ -72,7 +72,7 @@ static int setup_flash_device(void)
CONFIG_ENV_SPI_CS,
CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
if (!env_flash) {
- set_default_env("!spi_flash_probe() failed");
+ set_default_env("spi_flash_probe() failed", 0);
return -EIO;
}
}
@@ -173,7 +173,7 @@ static int env_sf_load(void)
tmp_env2 = (env_t *)memalign(ARCH_DMA_MINALIGN,
CONFIG_ENV_SIZE);
if (!tmp_env1 || !tmp_env2) {
- set_default_env("!malloc() failed");
+ set_default_env("malloc() failed", 0);
ret = -EIO;
goto out;
}
@@ -268,7 +268,7 @@ static int env_sf_load(void)
buf = (char *)memalign(ARCH_DMA_MINALIGN, CONFIG_ENV_SIZE);
if (!buf) {
- set_default_env("!malloc() failed");
+ set_default_env("malloc() failed", 0);
return -EIO;
}
@@ -279,7 +279,7 @@ static int env_sf_load(void)
ret = spi_flash_read(env_flash,
CONFIG_ENV_OFFSET, CONFIG_ENV_SIZE, buf);
if (ret) {
- set_default_env("!spi_flash_read() failed");
+ set_default_env("spi_flash_read() failed", 0);
goto err_read;
}