On Tue, Jun 13, 2023 at 08:45:18AM +0200, Marco Felsch wrote: > Hi Sascha, > > On 23-06-12, Sascha Hauer wrote: > > Under Linux dmesg -n can be used to set the console loglevel. Implement > > the same for barebox. > > > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > --- > > commands/dmesg.c | 18 +++++++++++++++++- > > 1 file changed, 17 insertions(+), 1 deletion(-) > > > > diff --git a/commands/dmesg.c b/commands/dmesg.c > > index 00e5a159e0..953bdb2068 100644 > > --- a/commands/dmesg.c > > +++ b/commands/dmesg.c > > @@ -77,8 +77,9 @@ static int do_dmesg(int argc, char *argv[]) > > int opt, i; > > int delete_buf = 0, emit = 0; > > unsigned flags = 0, levels = 0; > > + char *set = NULL; > > > > - while ((opt = getopt(argc, argv, "ctderl:")) > 0) { > > + while ((opt = getopt(argc, argv, "ctderl:n:")) > 0) { > > switch (opt) { > > case 'c': > > delete_buf = 1; > > @@ -100,11 +101,25 @@ static int do_dmesg(int argc, char *argv[]) > > case 'r': > > flags |= BAREBOX_LOG_PRINT_RAW | BAREBOX_LOG_PRINT_TIME; > > break; > > + case 'n': > > + set = optarg; > > + break; > > default: > > return COMMAND_ERROR_USAGE; > > } > > } > > > > + if (set) { > > + int level = str_to_loglevel(set); > > + > > + if (level < 0) > > + return COMMAND_ERROR; > > + > > + barebox_loglevel = level; > > Not really realted to this patch, but should we make 'barebox_loglevel' > private and use a setter like console_set_loglevel()? Asking because > console_common.c is the currently the only upstream user. I asked myself the same question and would likely write it with a setter nowadays, but I was too lazy to change it ;) Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |