printk: add con_printk() macro for console details
authorJohn Ogness <john.ogness@linutronix.de>
Thu, 21 Apr 2022 21:22:43 +0000 (23:28 +0206)
committerPetr Mladek <pmladek@suse.com>
Fri, 22 Apr 2022 19:30:57 +0000 (21:30 +0200)
It is useful to generate log messages that include details about
the related console. Rather than duplicate the code to assemble
the details, put that code into a macro con_printk().

Once console printers become threaded, this macro will find more
users.

Signed-off-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20220421212250.565456-9-john.ogness@linutronix.de
kernel/printk/printk.c

index 2f99e0b383b921bcd86433816490cee79cf0f556..e36d3ed41afa7d7a4dba067ec4db7f0e8f5ce966 100644 (file)
@@ -3015,6 +3015,11 @@ static void try_enable_default_console(struct console *newcon)
                newcon->flags |= CON_CONSDEV;
 }
 
+#define con_printk(lvl, con, fmt, ...)                 \
+       printk(lvl pr_fmt("%sconsole [%s%d] " fmt),     \
+              (con->flags & CON_BOOT) ? "boot" : "",   \
+              con->name, con->index, ##__VA_ARGS__)
+
 /*
  * The console driver calls this routine during kernel initialization
  * to register the console printing procedure with printk() and to
@@ -3153,9 +3158,7 @@ void register_console(struct console *newcon)
         * users know there might be something in the kernel's log buffer that
         * went to the bootconsole (that they do not see on the real console)
         */
-       pr_info("%sconsole [%s%d] enabled\n",
-               (newcon->flags & CON_BOOT) ? "boot" : "" ,
-               newcon->name, newcon->index);
+       con_printk(KERN_INFO, newcon, "enabled\n");
        if (bootcon_enabled &&
            ((newcon->flags & (CON_CONSDEV | CON_BOOT)) == CON_CONSDEV) &&
            !keep_bootcon) {
@@ -3174,9 +3177,7 @@ int unregister_console(struct console *console)
        struct console *con;
        int res;
 
-       pr_info("%sconsole [%s%d] disabled\n",
-               (console->flags & CON_BOOT) ? "boot" : "" ,
-               console->name, console->index);
+       con_printk(KERN_INFO, console, "disabled\n");
 
        res = _braille_unregister_console(console);
        if (res < 0)