env: add ENV_ERASE_PTR macro

Add ENV_ERASE_PTR macro to handle erase opts and remove the associated
ifdef.

This patch is a extension of previous commit 82b2f41357 ("env_internal.h:
add alternative ENV_SAVE_PTR macro").

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
Patrick Delaunay 2021-02-09 11:48:50 +01:00 committed by Tom Rini
parent 5557eec01c
commit 1af031ac3e
3 changed files with 3 additions and 7 deletions

3
env/ext4.c vendored
View File

@ -188,6 +188,5 @@ U_BOOT_ENV_LOCATION(ext4) = {
ENV_NAME("EXT4") ENV_NAME("EXT4")
.load = env_ext4_load, .load = env_ext4_load,
.save = ENV_SAVE_PTR(env_ext4_save), .save = ENV_SAVE_PTR(env_ext4_save),
.erase = CONFIG_IS_ENABLED(CMD_ERASEENV) ? env_ext4_erase : .erase = ENV_ERASE_PTR(env_ext4_erase),
NULL,
}; };

6
env/mmc.c vendored
View File

@ -233,7 +233,6 @@ fini:
return ret; return ret;
} }
#if defined(CONFIG_CMD_ERASEENV)
static inline int erase_env(struct mmc *mmc, unsigned long size, static inline int erase_env(struct mmc *mmc, unsigned long size,
unsigned long offset) unsigned long offset)
{ {
@ -279,7 +278,6 @@ static int env_mmc_erase(void)
return ret; return ret;
} }
#endif /* CONFIG_CMD_ERASEENV */
#endif /* CONFIG_CMD_SAVEENV && !CONFIG_SPL_BUILD */ #endif /* CONFIG_CMD_SAVEENV && !CONFIG_SPL_BUILD */
static inline int read_env(struct mmc *mmc, unsigned long size, static inline int read_env(struct mmc *mmc, unsigned long size,
@ -394,8 +392,6 @@ U_BOOT_ENV_LOCATION(mmc) = {
.load = env_mmc_load, .load = env_mmc_load,
#ifndef CONFIG_SPL_BUILD #ifndef CONFIG_SPL_BUILD
.save = env_save_ptr(env_mmc_save), .save = env_save_ptr(env_mmc_save),
#if defined(CONFIG_CMD_ERASEENV) .erase = ENV_ERASE_PTR(env_mmc_erase)
.erase = env_mmc_erase,
#endif
#endif #endif
}; };

View File

@ -211,6 +211,7 @@ struct env_driver {
#endif #endif
#define ENV_SAVE_PTR(x) (CONFIG_IS_ENABLED(SAVEENV) ? (x) : NULL) #define ENV_SAVE_PTR(x) (CONFIG_IS_ENABLED(SAVEENV) ? (x) : NULL)
#define ENV_ERASE_PTR(x) (CONFIG_IS_ENABLED(CMD_ERASEENV) ? (x) : NULL)
extern struct hsearch_data env_htab; extern struct hsearch_data env_htab;