Re: [PATCH] ttyprintk: make the printk log level configurable
From: Joe Perches
Date: Fri Sep 07 2018 - 04:03:18 EST
On Fri, 2018-09-07 at 09:50 +0200, Peter Korsgaard wrote:
> On Tue, Aug 21, 2018 at 7:28 PM Peter Korsgaard <peter@xxxxxxxxxxxxx> wrote:
> >
> > For some use cases it is handy to use a different printk log level than the
> > default (info) for the messages written to ttyprintk, so add a Kconfig
> > option similar to what we have for default console loglevel.
>
> Ping? Feedback, comments?
I think it is moving "[U]" into TPK_LEVEL is an
unnecessary and a tad obfuscating change.
This also adds a leading space for unknown reasons
after the KERN_SOH <level>.
> > diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
> > index ce277ee0a28a..14a7f023f20b 100644
> > --- a/drivers/char/Kconfig
> > +++ b/drivers/char/Kconfig
> > @@ -66,6 +66,14 @@ config TTY_PRINTK
> >
> > If unsure, say N.
> >
> > +config TTY_PRINTK_LEVEL
> > + depends on TTY_PRINTK
> > + int "ttyprintk log level (1-7)"
> > + range 1 7
> > + default "6"
> > + help
> > + Printk log level to use for ttyprintk messages.
> > +
> > config PRINTER
> > tristate "Parallel printer support"
> > depends on PARPORT
> > diff --git a/drivers/char/ttyprintk.c b/drivers/char/ttyprintk.c
> > index 67549ce88cc9..22fbd483b5dc 100644
> > --- a/drivers/char/ttyprintk.c
> > +++ b/drivers/char/ttyprintk.c
> > @@ -37,6 +37,8 @@ static struct ttyprintk_port tpk_port;
> > */
> > #define TPK_STR_SIZE 508 /* should be bigger then max expected line length */
> > #define TPK_MAX_ROOM 4096 /* we could assume 4K for instance */
> > +#define TPK_PREFIX KERN_SOH __stringify(CONFIG_TTY_PRINTK_LEVEL) " [U]"
I think this should be
#define TPK_PREFIX KERN_SOH __stringify(CONFIG_TTY_PRINTK_LEVEL)
> > +
> > static int tpk_curr;
> >
> > static char tpk_buffer[TPK_STR_SIZE + 4];
> > @@ -45,7 +47,7 @@ static void tpk_flush(void)
> > {
> > if (tpk_curr > 0) {
> > tpk_buffer[tpk_curr] = '\0';
> > - pr_info("[U] %s\n", tpk_buffer);
> > + printk(TPK_PREFIX " %s\n", tpk_buffer);
and this
printk(TPK_PREFIX "[U] %s\n", tpk_buffer);
> > tpk_curr = 0;
> > }
> > }
> > --
> > 2.11.0
> >
>
>