[PATCH 1/5] cmd: env: add option for quiet output on env info
Patrick Delaunay
patrick.delaunay at st.com
Fri Jan 24 13:33:42 CET 2020
The "env info" can be use for test with -d and -p parameter,
in scripting case the output of the command is not needed.
This patch allows to deactivate this output with a new option "-q".
For example, we can save the environment if default
environment is used and persistent storage is managed with:
if env info -p -d -q; then env save; fi
Without the quiet option, I have the unnecessary traces
First boot:
Default environment is used
Environment can be persisted
Saving Environment to EXT4... File System is consistent
Next boot:
Environment was loaded from persistent storage
Environment can be persisted
Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
---
cmd/Kconfig | 1 +
cmd/nvedit.c | 26 +++++++++++++++++++-------
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/cmd/Kconfig b/cmd/Kconfig
index b1a1cbcab2..458dbcedac 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -567,6 +567,7 @@ config CMD_NVEDIT_INFO
This command can be optionally used for evaluation in scripts:
[-d] : evaluate whether default environment is used
[-p] : evaluate whether environment can be persisted
+ [-q] : quiet output
The result of multiple evaluations will be combined with AND.
endmenu
diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index 81d94cd193..aaa032cd96 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -1219,12 +1219,15 @@ static int print_env_info(void)
* env info - display environment information
* env info [-d] - evaluate whether default environment is used
* env info [-p] - evaluate whether environment can be persisted
+ * Add [-q] - quiet mode, use only for command result, for test by example:
+ * test env info -p -d -q
*/
static int do_env_info(cmd_tbl_t *cmdtp, int flag,
int argc, char * const argv[])
{
int eval_flags = 0;
int eval_results = 0;
+ bool quiet = false;
/* display environment information */
if (argc <= 1)
@@ -1242,6 +1245,9 @@ static int do_env_info(cmd_tbl_t *cmdtp, int flag,
case 'p':
eval_flags |= ENV_INFO_IS_PERSISTED;
break;
+ case 'q':
+ quiet = true;
+ break;
default:
return CMD_RET_USAGE;
}
@@ -1251,20 +1257,24 @@ static int do_env_info(cmd_tbl_t *cmdtp, int flag,
/* evaluate whether default environment is used */
if (eval_flags & ENV_INFO_IS_DEFAULT) {
if (gd->flags & GD_FLG_ENV_DEFAULT) {
- printf("Default environment is used\n");
+ if (!quiet)
+ printf("Default environment is used\n");
eval_results |= ENV_INFO_IS_DEFAULT;
} else {
- printf("Environment was loaded from persistent storage\n");
+ if (!quiet)
+ printf("Environment was loaded from persistent storage\n");
}
}
/* evaluate whether environment can be persisted */
if (eval_flags & ENV_INFO_IS_PERSISTED) {
#if defined(CONFIG_CMD_SAVEENV) && !defined(CONFIG_ENV_IS_NOWHERE)
- printf("Environment can be persisted\n");
+ if (!quiet)
+ printf("Environment can be persisted\n");
eval_results |= ENV_INFO_IS_PERSISTED;
#else
- printf("Environment cannot be persisted\n");
+ if (!quiet)
+ printf("Environment cannot be persisted\n");
#endif
}
@@ -1321,7 +1331,7 @@ static cmd_tbl_t cmd_env_sub[] = {
U_BOOT_CMD_MKENT(import, 5, 0, do_env_import, "", ""),
#endif
#if defined(CONFIG_CMD_NVEDIT_INFO)
- U_BOOT_CMD_MKENT(info, 2, 0, do_env_info, "", ""),
+ U_BOOT_CMD_MKENT(info, 3, 0, do_env_info, "", ""),
#endif
U_BOOT_CMD_MKENT(print, CONFIG_SYS_MAXARGS, 1, do_env_print, "", ""),
#if defined(CONFIG_CMD_RUN)
@@ -1400,8 +1410,10 @@ static char env_help_text[] =
#endif
#if defined(CONFIG_CMD_NVEDIT_INFO)
"env info - display environment information\n"
- "env info [-d] - whether default environment is used\n"
- "env info [-p] - whether environment can be persisted\n"
+ "env info [-d] [-p] [-q] - evaluate environment information\n"
+ " \"-d\": default environment is used\n"
+ " \"-p\": environment can be persisted\n"
+ " \"-q\": quiet output\n"
#endif
"env print [-a | name ...] - print environment\n"
#if defined(CONFIG_CMD_NVEDIT_EFI)
--
2.17.1
More information about the U-Boot
mailing list