
On Mon, 20 Nov 2017 15:33:30 -0700 Simon Glass sjg@chromium.org wrote:
Add a command for adjusting the log level.
Reviewed-by: Lukasz Majewski lukma@denx.de
Signed-off-by: Simon Glass sjg@chromium.org Reviewed-by: Bin Meng bmeng.cn@gmail.com
Changes in v3: None Changes in v2: None
cmd/Kconfig | 7 +++++++ cmd/Makefile | 1 + cmd/log.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 cmd/log.c
diff --git a/cmd/Kconfig b/cmd/Kconfig index 5a6afab99b7..b745a7e977a 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1502,6 +1502,13 @@ config CMD_KGDB single-stepping, inspecting variables, etc. This is supported only on PowerPC at present.
+config CMD_LOG
- bool "log - Generation, control and access to logging"
- help
This provides access to logging features. It allows the
output of
log data to be controlled to a limited extent (setting up
the default
maximum log level for emitting of records).
config CMD_TRACE bool "trace - Support tracing of function calls and timing" help diff --git a/cmd/Makefile b/cmd/Makefile index f9eb76090d6..00e38696daa 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -76,6 +76,7 @@ obj-$(CONFIG_LED_STATUS_CMD) += legacy_led.o obj-$(CONFIG_CMD_LED) += led.o obj-$(CONFIG_CMD_LICENSE) += license.o obj-y += load.o +obj-$(CONFIG_CMD_LOG) += log.o obj-$(CONFIG_ID_EEPROM) += mac.o obj-$(CONFIG_CMD_MD5SUM) += md5sum.o obj-$(CONFIG_CMD_MEMORY) += mem.o diff --git a/cmd/log.c b/cmd/log.c new file mode 100644 index 00000000000..44e04ab16a8 --- /dev/null +++ b/cmd/log.c @@ -0,0 +1,55 @@ +/*
- Copyright (c) 2017 Google, Inc
- Written by Simon Glass sjg@chromium.org
- SPDX-License-Identifier: GPL-2.0+
- */
+#include <common.h> +#include <command.h> +#include <dm.h> +#include <log.h>
+static int do_log_level(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
+{
- if (argc > 1)
gd->default_log_level = simple_strtol(argv[1], NULL,
10);
- else
printf("Default log level: %d\n",
gd->default_log_level); +
- return 0;
+}
+static cmd_tbl_t log_sub[] = {
- U_BOOT_CMD_MKENT(level, CONFIG_SYS_MAXARGS, 1, do_log_level,
"", ""), +};
+static int do_log(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{
- cmd_tbl_t *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"
- ;
+#endif
+U_BOOT_CMD(
- log, CONFIG_SYS_MAXARGS, 1, do_log,
- "log system", log_help_text
+);
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de