On 23-06-12, Sascha Hauer wrote: > dmesg open codes functionality to convert a string to a loglevel. > Make a separate function from it which will be useful in the next > patch. > While at it remove the BAREBOX_LOG_PRINT_* defines and use MSG_* > defines directly. > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > --- > commands/dmesg.c | 47 ++++++++++++++++++++++++++---------------- > include/linux/printk.h | 10 --------- > 2 files changed, 29 insertions(+), 28 deletions(-) > > diff --git a/commands/dmesg.c b/commands/dmesg.c > index 15ad449639..339910bb76 100644 > --- a/commands/dmesg.c > +++ b/commands/dmesg.c > @@ -11,6 +11,30 @@ > #include <getopt.h> > #include <clock.h> > > +static int str_to_loglevel(const char *str) > +{ > + if (!strcmp(str, "vdebug")) > + return MSG_VDEBUG; > + if (!strcmp(str, "debug")) > + return MSG_DEBUG; > + if (!strcmp(str, "info")) > + return MSG_INFO; > + if (!strcmp(str, "notice")) > + return MSG_NOTICE; > + if (!strcmp(str, "warn")) > + return MSG_WARNING; > + if (!strcmp(str, "err")) > + return MSG_ERR; > + if (!strcmp(str, "crit")) > + return MSG_CRIT; > + if (!strcmp(str, "alert")) > + return MSG_ALERT; > + if (!strcmp(str, "emerg")) > + return MSG_EMERG; > + > + return -EINVAL; > +} > + > static unsigned dmesg_get_levels(const char *__args) > { > char *args = xstrdup(__args); > @@ -18,28 +42,15 @@ static unsigned dmesg_get_levels(const char *__args) > unsigned flags = 0; > > while (1) { > + int level; > + > str = strsep(&levels, ","); > if (!str) > break; > > - if(!strcmp(str, "vdebug")) > - flags |= BAREBOX_LOG_PRINT_VDEBUG; > - else if(!strcmp(str, "debug")) > - flags |= BAREBOX_LOG_PRINT_DEBUG; > - else if(!strcmp(str, "info")) > - flags |= BAREBOX_LOG_PRINT_INFO; > - else if(!strcmp(str, "notice")) > - flags |= BAREBOX_LOG_PRINT_NOTICE; > - else if(!strcmp(str, "warn")) > - flags |= BAREBOX_LOG_PRINT_WARNING; > - else if(!strcmp(str, "err")) > - flags |= BAREBOX_LOG_PRINT_ERR; > - else if(!strcmp(str, "crit")) > - flags |= BAREBOX_LOG_PRINT_CRIT; > - else if(!strcmp(str, "alert")) > - flags |= BAREBOX_LOG_PRINT_ALERT; > - else if(!strcmp(str, "emerg")) > - flags |= BAREBOX_LOG_PRINT_EMERG; > + level = str_to_loglevel(str); > + if (level >= 0) > + flags |= BIT(level); > } > > free(args); > diff --git a/include/linux/printk.h b/include/linux/printk.h > index 42c29e04dd..057b355aa1 100644 > --- a/include/linux/printk.h > +++ b/include/linux/printk.h > @@ -159,16 +159,6 @@ extern void log_clean(unsigned int limit); > #define BAREBOX_LOG_DIFF_TIME BIT(1) > #define BAREBOX_LOG_PRINT_TIME BIT(0) > > -#define BAREBOX_LOG_PRINT_VDEBUG BIT(8) > -#define BAREBOX_LOG_PRINT_DEBUG BIT(7) > -#define BAREBOX_LOG_PRINT_INFO BIT(6) > -#define BAREBOX_LOG_PRINT_NOTICE BIT(5) > -#define BAREBOX_LOG_PRINT_WARNING BIT(4) > -#define BAREBOX_LOG_PRINT_ERR BIT(3) > -#define BAREBOX_LOG_PRINT_CRIT BIT(2) > -#define BAREBOX_LOG_PRINT_ALERT BIT(1) > -#define BAREBOX_LOG_PRINT_EMERG BIT(0) > - > int log_writefile(const char *filepath); > void log_print(unsigned flags, unsigned levels); > > -- > 2.39.2 > > >