Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b641fe016a29fe2c0c7b0d717a5918e3f067a44f
Commit:     b641fe016a29fe2c0c7b0d717a5918e3f067a44f
Parent:     e2dfb912d3cea97d8b1d6750abbe9c942b6f73f5
Author:     Paul Mundt <[EMAIL PROTECTED]>
AuthorDate: Tue Dec 12 09:00:47 2006 +0900
Committer:  Paul Mundt <[EMAIL PROTECTED]>
CommitDate: Tue Dec 12 09:00:47 2006 +0900

    sh: Use early_param() for earlyprintk parsing.
    
    Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>
---
 arch/sh/kernel/early_printk.c |   20 +++++++++++---------
 arch/sh/kernel/setup.c        |   27 +++++----------------------
 2 files changed, 16 insertions(+), 31 deletions(-)

diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c
index 6034082..560b91c 100644
--- a/arch/sh/kernel/early_printk.c
+++ b/arch/sh/kernel/early_printk.c
@@ -144,16 +144,16 @@ static struct console *early_console =
        ;
 
 static int __initdata keep_early;
+static int early_console_initialized;
 
-int __init setup_early_printk(char *opt)
+int __init setup_early_printk(char *buf)
 {
-       char *space;
-       char buf[256];
+       if (!buf)
+               return 0;
 
-       strlcpy(buf, opt, sizeof(buf));
-       space = strchr(buf, ' ');
-       if (space)
-               *space = 0;
+       if (early_console_initialized)
+               return 0;
+       early_console_initialized = 1;
 
        if (strstr(buf, "keep"))
                keep_early = 1;
@@ -175,12 +175,14 @@ int __init setup_early_printk(char *opt)
        if (likely(early_console))
                register_console(early_console);
 
-       return 1;
+       return 0;
 }
-__setup("earlyprintk=", setup_early_printk);
+early_param("earlyprintk", setup_early_printk);
 
 void __init disable_early_printk(void)
 {
+       if (!early_console_initialized || !early_console)
+               return;
        if (!keep_early) {
                printk("disabling early console\n");
                unregister_console(early_console);
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index fe545bb..225f9ea 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -84,8 +84,7 @@ unsigned long memory_start, memory_end;
 
 static inline void parse_cmdline (char ** cmdline_p, char 
mv_name[MV_NAME_SIZE],
                                  struct sh_machine_vector** mvp,
-                                 unsigned long *mv_io_base,
-                                 int *mv_mmio_enable)
+                                 unsigned long *mv_io_base)
 {
        char c = ' ', *to = command_line, *from = COMMAND_LINE;
        int len = 0;
@@ -112,23 +111,6 @@ static inline void parse_cmdline (char ** cmdline_p, char 
mv_name[MV_NAME_SIZE],
                        }
                }
 
-#ifdef CONFIG_EARLY_PRINTK
-               if (c == ' ' && !memcmp(from, "earlyprintk=", 12)) {
-                       char *ep_end;
-
-                       if (to != command_line)
-                               to--;
-
-                       from += 12;
-                       ep_end = strchr(from, ' ');
-
-                       setup_early_printk(from);
-                       printk("early console enabled\n");
-
-                       from = ep_end;
-               }
-#endif
-
                if (c == ' ' && !memcmp(from, "sh_mv=", 6)) {
                        char* mv_end;
                        char* mv_comma;
@@ -145,7 +127,6 @@ static inline void parse_cmdline (char ** cmdline_p, char 
mv_name[MV_NAME_SIZE],
                                int ints[3];
                                get_options(mv_comma+1, ARRAY_SIZE(ints), ints);
                                *mv_io_base = ints[1];
-                               *mv_mmio_enable = ints[2];
                                mv_len = mv_comma - from;
                        } else {
                                mv_len = mv_end - from;
@@ -158,6 +139,7 @@ static inline void parse_cmdline (char ** cmdline_p, char 
mv_name[MV_NAME_SIZE],
 
                        *mvp = get_mv_byname(mv_name);
                }
+
                c = *(from++);
                if (!c)
                        break;
@@ -177,9 +159,8 @@ static int __init sh_mv_setup(char **cmdline_p)
        struct sh_machine_vector *mv = NULL;
        char mv_name[MV_NAME_SIZE] = "";
        unsigned long mv_io_base = 0;
-       int mv_mmio_enable = 0;
 
-       parse_cmdline(cmdline_p, mv_name, &mv, &mv_io_base, &mv_mmio_enable);
+       parse_cmdline(cmdline_p, mv_name, &mv, &mv_io_base);
 
 #ifdef CONFIG_SH_UNKNOWN
        if (mv == NULL) {
@@ -258,6 +239,7 @@ void __init setup_arch(char **cmdline_p)
 
        sh_mv_setup(cmdline_p);
 
+
        /*
         * Find the highest page frame number we have available
         */
@@ -305,6 +287,7 @@ void __init setup_arch(char **cmdline_p)
                                  PFN_PHYS(pages));
        }
 
+
        /*
         * Reserve the kernel text and
         * Reserve the bootmem bitmap. We do this in two steps (first step
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to