On Mon, 20 Nov 2017 15:33:30 -0700 Simon Glass <s...@chromium.org> wrote:
> Add a command for adjusting the log level. > Reviewed-by: Lukasz Majewski <lu...@denx.de> > Signed-off-by: Simon Glass <s...@chromium.org> > Reviewed-by: Bin Meng <bmeng...@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 <s...@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: w...@denx.de
pgpRUcdAOxwmN.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot