James Simmons <[EMAIL PROTECTED]> wrote:
>
> Where is this patch?


From: Matthew Wilcox <[EMAIL PROTECTED]>

CON_BOOT is like early printk in that it allows for output really early on.
 It's better than early printk because it unregisters automatically when a
real console is initialised.  So if you don't get consoles registering in
console_init, there isn't a huge delay between the boot console
unregistering and the real console starting.  This is the case on PA-RISC
where we have serial ports that aren't discovered until the PCI bus has
been walked.

I think all the current early printk users could be converted to this
scheme with a minimal amount of effort.

Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 25-akpm/include/linux/console.h |    1 +
 25-akpm/kernel/printk.c         |    5 +++++
 2 files changed, 6 insertions(+)

diff -puN include/linux/console.h~new-console-flag-con_boot 
include/linux/console.h
--- 25/include/linux/console.h~new-console-flag-con_boot        2005-03-15 
22:47:16.000000000 -0800
+++ 25-akpm/include/linux/console.h     2005-03-15 22:47:16.000000000 -0800
@@ -84,6 +84,7 @@ void give_up_console(const struct consw 
 #define CON_PRINTBUFFER        (1)
 #define CON_CONSDEV    (2) /* Last on the command line */
 #define CON_ENABLED    (4)
+#define CON_BOOT       (8)
 
 struct console
 {
diff -puN kernel/printk.c~new-console-flag-con_boot kernel/printk.c
--- 25/kernel/printk.c~new-console-flag-con_boot        2005-03-15 
22:47:16.000000000 -0800
+++ 25-akpm/kernel/printk.c     2005-03-15 22:47:16.000000000 -0800
@@ -861,6 +861,11 @@ void register_console(struct console * c
        if (!(console->flags & CON_ENABLED))
                return;
 
+       if (console_drivers && (console_drivers->flags & CON_BOOT)) {
+               unregister_console(console_drivers);
+               console->flags &= ~CON_PRINTBUFFER;
+       }
+
        /*
         *      Put this console in the list - keep the
         *      preferred driver at the head of the list.
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to