Skip to contentSkip to conversation

ttyprintk: make the printk log level configurable

PATCH Superseded Peter Korsgaard 1 participant 2 messages Sep 7, 2018 – Sep 17, 2018 Char and misc drivers

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 ttyprintk: make the printk log level configurable

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.

---
Changes since v1:
- Leave [U] prefix in printk invocation and drop space before it as suggested by Joe Perces.

 drivers/char/Kconfig     | 8 ++++++++
 drivers/char/ttyprintk.c | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)
drivers/char/Kconfig +8 -0
index ce277ee0a28a..14a7f023f20b 100644
@@ -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
drivers/char/ttyprintk.c +3 -1
index 67549ce88cc9..88808dbba486 100644
@@ -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)
+
 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 "[U] %s\n", tpk_buffer);
 		tpk_curr = 0;
 	}
 }
Signature · 1 line
2.11.0
#1 lore raw
Quoted 10 lines · Peter Korsgaard

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.

---
Changes since v1:
- Leave [U] prefix in printk invocation and drop space before it as suggested by Joe Perces.

Ping? Joe, if you are happy with v2, then it would be great if you could ack it.

Thanks.

Quoted 48 lines
 drivers/char/Kconfig     | 8 ++++++++
 drivers/char/ttyprintk.c | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)
drivers/char/Kconfig +8 -0
index ce277ee0a28a..14a7f023f20b 100644
@@ -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
drivers/char/ttyprintk.c +3 -2
index 67549ce88cc9..88808dbba486 100644
@@ -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)
+
 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 "[U] %s\n", tpk_buffer);
                tpk_curr = 0;
        }
 }
--

2.11.0

Signature · 1 line
Bye, Peter Korsgaard