diff options
Diffstat (limited to 'arch/mips/dec/prom/console.c')
-rw-r--r-- | arch/mips/dec/prom/console.c | 38 |
1 files changed, 5 insertions, 33 deletions
diff --git a/arch/mips/dec/prom/console.c b/arch/mips/dec/prom/console.c index cade16ec7e5a..65419bf32441 100644 --- a/arch/mips/dec/prom/console.c +++ b/arch/mips/dec/prom/console.c | |||
@@ -16,40 +16,12 @@ | |||
16 | 16 | ||
17 | #include <asm/dec/prom.h> | 17 | #include <asm/dec/prom.h> |
18 | 18 | ||
19 | static void __init prom_console_write(struct console *con, const char *s, | 19 | void prom_putchar(char c) |
20 | unsigned int c) | ||
21 | { | 20 | { |
22 | static char sfmt[] __initdata = "%%%us"; | 21 | char s[2]; |
23 | char fmt[13]; | ||
24 | 22 | ||
25 | snprintf(fmt, sizeof(fmt), sfmt, c); | 23 | s[0] = c; |
26 | prom_printf(fmt, s); | 24 | s[1] = '\0'; |
27 | } | ||
28 | |||
29 | static struct console promcons __initdata = { | ||
30 | .name = "prom", | ||
31 | .write = prom_console_write, | ||
32 | .flags = CON_PRINTBUFFER, | ||
33 | .index = -1, | ||
34 | }; | ||
35 | |||
36 | static int promcons_output __initdata = 0; | ||
37 | |||
38 | void __init register_prom_console(void) | ||
39 | { | ||
40 | if (!promcons_output) { | ||
41 | promcons_output = 1; | ||
42 | register_console(&promcons); | ||
43 | } | ||
44 | } | ||
45 | 25 | ||
46 | void __init unregister_prom_console(void) | 26 | prom_printf( s); |
47 | { | ||
48 | if (promcons_output) { | ||
49 | unregister_console(&promcons); | ||
50 | promcons_output = 0; | ||
51 | } | ||
52 | } | 27 | } |
53 | |||
54 | void disable_early_printk(void) | ||
55 | __attribute__((alias("unregister_prom_console"))); | ||