aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/setup.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-09-27 01:26:53 -0400
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 01:26:53 -0400
commita80fd21e52cc09ff1e4d36de5781173a5b87b2dc (patch)
tree9e4ee0efc4809209f5bb9c9a288a6a1cf43c060e /arch/sh/kernel/setup.c
parente86d6b66f5b38680746b2cb71186d90af17f150f (diff)
sh: earlyprintk= support and cleanups.
Allow multiple early printk consoles via earlyprintk=. With this change earlyprintk is no longer enabled by default, it must be specified on the kernel command line. Optionally with ,keep to prevent unreg by tty_io. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/setup.c')
-rw-r--r--arch/sh/kernel/setup.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index e75189cb1db7..cff8d36f91b0 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -145,6 +145,24 @@ static inline void parse_cmdline (char ** cmdline_p, char mv_name[MV_NAME_SIZE],
145 memory_end = memory_start + mem_size; 145 memory_end = memory_start + mem_size;
146 } 146 }
147 } 147 }
148
149#ifdef CONFIG_EARLY_PRINTK
150 if (c == ' ' && !memcmp(from, "earlyprintk=", 12)) {
151 char *ep_end;
152
153 if (to != command_line)
154 to--;
155
156 from += 12;
157 ep_end = strchr(from, ' ');
158
159 setup_early_printk(from);
160 printk("early console enabled\n");
161
162 from = ep_end;
163 }
164#endif
165
148 if (c == ' ' && !memcmp(from, "sh_mv=", 6)) { 166 if (c == ' ' && !memcmp(from, "sh_mv=", 6)) {
149 char* mv_end; 167 char* mv_end;
150 char* mv_comma; 168 char* mv_comma;
@@ -245,11 +263,7 @@ void __init setup_arch(char **cmdline_p)
245 unsigned long bootmap_size; 263 unsigned long bootmap_size;
246 unsigned long start_pfn, max_pfn, max_low_pfn; 264 unsigned long start_pfn, max_pfn, max_low_pfn;
247 265
248#ifdef CONFIG_EARLY_PRINTK
249 extern void enable_early_printk(void);
250 266
251 enable_early_printk();
252#endif
253#ifdef CONFIG_CMDLINE_BOOL 267#ifdef CONFIG_CMDLINE_BOOL
254 strcpy(COMMAND_LINE, CONFIG_CMDLINE); 268 strcpy(COMMAND_LINE, CONFIG_CMDLINE);
255#endif 269#endif