cmd: log: Make "log level" print all log levels
authorSean Anderson <seanga2@gmail.com>
Tue, 27 Oct 2020 23:55:35 +0000 (19:55 -0400)
committerTom Rini <trini@konsulko.com>
Fri, 30 Oct 2020 14:56:11 +0000 (10:56 -0400)
This makes the log level command print all valid log levels. The default
log level is annotated. This provides an easy way to see which log levels
are compiled-in.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
cmd/log.c

index 8d8d8a8..596bc73 100644 (file)
--- a/cmd/log.c
+++ b/cmd/log.c
@@ -34,14 +34,20 @@ static enum log_level_t parse_log_level(char *const arg)
 static int do_log_level(struct cmd_tbl *cmdtp, int flag, int argc,
                        char *const argv[])
 {
+       enum log_level_t log_level;
+
        if (argc > 1) {
-               enum log_level_t log_level = parse_log_level(argv[1]);
+               log_level = parse_log_level(argv[1]);
 
                if (log_level == LOGL_NONE)
                        return CMD_RET_FAILURE;
                gd->default_log_level = log_level;
        } else {
-               printf("Default log level: %d\n", gd->default_log_level);
+               for (log_level = LOGL_FIRST; log_level <= _LOG_MAX_LEVEL;
+                    log_level++)
+                       printf("%s%s\n", log_get_level_name(log_level),
+                              log_level == gd->default_log_level ?
+                              " (default)" : "");
        }
 
        return CMD_RET_SUCCESS;
@@ -153,7 +159,7 @@ static int do_log_rec(struct cmd_tbl *cmdtp, int flag, int argc,
 
 #ifdef CONFIG_SYS_LONGHELP
 static char log_help_text[] =
-       "level - get/set log level\n"
+       "level [<level>] - get/set log level\n"
        "categories - list log categories\n"
        "drivers - list log drivers\n"
        "log format <fmt> - set log output format. <fmt> is a string where\n"