env: ext4: add support of command env erase

Add support of opts erase for env in ext4,
this opts is used by command 'env erase'.

This command only fill the env file (CONFIG_ENV_EXT4_FILE)
with 0, the CRC and the saved environment becomes invalid.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
This commit is contained in:
Patrick Delaunay 2020-07-28 11:51:26 +02:00 committed by Tom Rini
parent f6de047e02
commit 0718f74327
1 changed files with 19 additions and 0 deletions

19
env/ext4.c vendored
View File

@ -99,6 +99,23 @@ static int env_ext4_save(void)
return 0;
}
static int env_ext4_erase(void)
{
env_t env_new;
int err;
memset(&env_new, 0, sizeof(env_t));
err = env_ext4_save_buffer(&env_new);
if (err)
return err;
gd->env_valid = ENV_INVALID;
puts("done\n");
return 0;
}
static int env_ext4_load(void)
{
ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE);
@ -156,4 +173,6 @@ U_BOOT_ENV_LOCATION(ext4) = {
ENV_NAME("EXT4")
.load = env_ext4_load,
.save = ENV_SAVE_PTR(env_ext4_save),
.erase = CONFIG_IS_ENABLED(CMD_ERASEENV) ? env_ext4_erase :
NULL,
};