cmd: log: Use sub-commands for log
This reduces duplicate code, and makes adding new sub-commands easier. Signed-off-by: Sean Anderson <seanga2@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
1227304400
commit
f48b5b5634
31
cmd/log.c
31
cmd/log.c
@ -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),
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user