aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/q40/config.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2007-05-01 16:32:45 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-04 20:59:06 -0400
commitd6713b4091a99fa2af2fabdcd2f3fb97f32ecf2e (patch)
tree7cabd0ff35f9ec4413ba936ddb203d13dffb1550 /arch/m68k/q40/config.c
parentf8744bc95dac461cef40df7143756d1bfa393991 (diff)
m68k: early parameter support
Add early parameter support and convert current users to it. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m68k/q40/config.c')
-rw-r--r--arch/m68k/q40/config.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c
index 4c5b9e4e98bc..476e18eca758 100644
--- a/arch/m68k/q40/config.c
+++ b/arch/m68k/q40/config.c
@@ -54,7 +54,6 @@ void q40_set_vectors(void);
54 54
55extern void q40_mksound(unsigned int /*freq*/, unsigned int /*ticks*/); 55extern void q40_mksound(unsigned int /*freq*/, unsigned int /*ticks*/);
56 56
57extern char m68k_debug_device[];
58static void q40_mem_console_write(struct console *co, const char *b, 57static void q40_mem_console_write(struct console *co, const char *b,
59 unsigned int count); 58 unsigned int count);
60 59
@@ -62,6 +61,7 @@ extern int ql_ticks;
62 61
63static struct console q40_console_driver = { 62static struct console q40_console_driver = {
64 .name = "debug", 63 .name = "debug",
64 .write = q40_mem_console_write,
65 .flags = CON_PRINTBUFFER, 65 .flags = CON_PRINTBUFFER,
66 .index = -1, 66 .index = -1,
67}; 67};
@@ -85,6 +85,19 @@ static void q40_mem_console_write(struct console *co, const char *s,
85 } 85 }
86} 86}
87 87
88static int __init q40_debug_setup(char *arg)
89{
90 /* useful for early debugging stages - writes kernel messages into SRAM */
91 if (MACH_IS_Q40 && !strncmp(arg, "mem", 3)) {
92 /*printk("using NVRAM debug, q40_mem_cptr=%p\n",q40_mem_cptr);*/
93 _cpleft = 2000 - ((long)q40_mem_cptr-0xff020000) / 4;
94 register_console(&q40_console_driver);
95 }
96 return 0;
97}
98
99early_param("debug", q40_debug_setup);
100
88#if 0 101#if 0
89void printq40(char *str) 102void printq40(char *str)
90{ 103{
@@ -194,14 +207,6 @@ void __init config_q40(void)
194 * all physical RAM fits into the boundary - otherwise 207 * all physical RAM fits into the boundary - otherwise
195 * allocator may play costly and useless tricks */ 208 * allocator may play costly and useless tricks */
196 mach_max_dma_address = 1024*1024*1024; 209 mach_max_dma_address = 1024*1024*1024;
197
198 /* useful for early debugging stages - writes kernel messages into SRAM */
199 if (!strncmp( m68k_debug_device,"mem", 3)) {
200 /*printk("using NVRAM debug, q40_mem_cptr=%p\n",q40_mem_cptr);*/
201 _cpleft = 2000 - ((long)q40_mem_cptr-0xff020000) / 4;
202 q40_console_driver.write = q40_mem_console_write;
203 register_console(&q40_console_driver);
204 }
205} 210}
206 211
207 212