summaryrefslogtreecommitdiff
path: root/env
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@st.com>2020-07-28 11:51:18 +0200
committerTom Rini <trini@konsulko.com>2020-07-31 10:13:00 -0400
commitad3fec2364ebfc896ce5bd5269f56df9f0c3e5a9 (patch)
treec2de0d398adc3f772b4b601a91fb50483ad23790 /env
parent6d8d8400a2bee44e0efbd7dbcfa33965560370d6 (diff)
env: nowhere: add .load ops
Add the ops .load for nowhere ENV backend to load the default environment. This ops is needed for the command 'env load' Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Diffstat (limited to 'env')
-rw-r--r--env/nowhere.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/env/nowhere.c b/env/nowhere.c
index f5b0a17652..d33fdf27d0 100644
--- a/env/nowhere.c
+++ b/env/nowhere.c
@@ -27,8 +27,25 @@ static int env_nowhere_init(void)
return 0;
}
+static int env_nowhere_load(void)
+{
+ /*
+ * for SPL, set env_valid = ENV_INVALID is enougth as env_get_char()
+ * return the default env if env_get is used
+ * and SPL don't used env_import to reduce its size
+ * For U-Boot proper, import the default environment to allow reload.
+ */
+ if (!IS_ENABLED(CONFIG_SPL_BUILD))
+ env_set_default(NULL, 0);
+
+ gd->env_valid = ENV_INVALID;
+
+ return 0;
+}
+
U_BOOT_ENV_LOCATION(nowhere) = {
.location = ENVL_NOWHERE,
.init = env_nowhere_init,
+ .load = env_nowhere_load,
ENV_NAME("nowhere")
};