aboutsummaryrefslogtreecommitdiff
path: root/arch/mips/kernel/early_printk.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/early_printk.c')
-rw-r--r--arch/mips/kernel/early_printk.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/mips/kernel/early_printk.c b/arch/mips/kernel/early_printk.c
index 4fa54b230c0..505cb77d128 100644
--- a/arch/mips/kernel/early_printk.c
+++ b/arch/mips/kernel/early_printk.c
@@ -7,9 +7,13 @@
* Copyright (C) 2007 MIPS Technologies, Inc.
* written by Ralf Baechle (ralf@linux-mips.org)
*/
+#include <linux/kernel.h>
#include <linux/console.h>
+#include <linux/printk.h>
#include <linux/init.h>
+#include <asm/setup.h>
+
extern void prom_putchar(char);
static void early_console_write(struct console *con, const char *s, unsigned n)
@@ -22,7 +26,7 @@ static void early_console_write(struct console *con, const char *s, unsigned n)
}
}
-static struct console early_console = {
+static struct console early_console_prom = {
.name = "early",
.write = early_console_write,
.flags = CON_PRINTBUFFER | CON_BOOT,
@@ -31,5 +35,9 @@ static struct console early_console = {
void __init setup_early_printk(void)
{
- register_console(&early_console);
+ if (early_console)
+ return;
+ early_console = &early_console_prom;
+
+ register_console(&early_console_prom);
}