diff options
Diffstat (limited to 'arch/mips/dec/prom')
| -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"))); | ||
