lkml.org 
[lkml]   [2005]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] CON_BOOT
    James Simmons <jsimmons@pentafluge.infradead.org> wrote:
    >
    > Where is this patch?


    From: Matthew Wilcox <matthew@wil.cx>

    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 <akpm@osdl.org>
    ---

    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 majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:11    [W:0.029 / U:0.224 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site