Skip to content

Commit

Permalink
cmd: log: Use sub-commands for log
Browse files Browse the repository at this point in the history
This reduces duplicate code, and makes adding new sub-commands easier.

Signed-off-by: Sean Anderson <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Forty-Bot authored and trini committed Oct 30, 2020
1 parent 1227304 commit f48b5b5
Showing 1 changed file with 4 additions and 27 deletions.
31 changes: 4 additions & 27 deletions cmd/log.c
Original file line number Diff line number Diff line change
@@ -103,30 +103,6 @@ static int do_log_rec(struct cmd_tbl *cmdtp, int flag, int argc,
return 0;
}

static struct cmd_tbl log_sub[] = {
U_BOOT_CMD_MKENT(level, CONFIG_SYS_MAXARGS, 1, do_log_level, "", ""),
U_BOOT_CMD_MKENT(format, CONFIG_SYS_MAXARGS, 1, do_log_format, "", ""),
U_BOOT_CMD_MKENT(rec, CONFIG_SYS_MAXARGS, 1, do_log_rec, "", ""),
};

static int do_log(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
{
struct cmd_tbl *cp;

if (argc < 2)
return CMD_RET_USAGE;

/* drop initial "log" arg */
argc--;
argv++;

cp = find_cmd_tbl(argv[0], log_sub, ARRAY_SIZE(log_sub));
if (cp)
return cp->cmd(cmdtp, flag, argc, argv);

return CMD_RET_USAGE;
}

#ifdef CONFIG_SYS_LONGHELP
static char log_help_text[] =
"level - get/set log level\n"
@@ -139,7 +115,8 @@ static char log_help_text[] =
;
#endif

U_BOOT_CMD(
log, CONFIG_SYS_MAXARGS, 1, do_log,
"log system", log_help_text
U_BOOT_CMD_WITH_SUBCMDS(log, "log system", log_help_text,
U_BOOT_SUBCMD_MKENT(level, 2, 1, do_log_level),
U_BOOT_SUBCMD_MKENT(format, 2, 1, do_log_format),
U_BOOT_SUBCMD_MKENT(rec, 7, 1, do_log_rec),
);

0 comments on commit f48b5b5

Please sign in to comment.