diff options
Diffstat (limited to 'arch/mips/dec/promcon.c')
-rw-r--r-- | arch/mips/dec/promcon.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/arch/mips/dec/promcon.c b/arch/mips/dec/promcon.c new file mode 100644 index 00000000000..9f0972f5a70 --- /dev/null +++ b/arch/mips/dec/promcon.c @@ -0,0 +1,55 @@ +/* + * Wrap-around code for a console using the + * DECstation PROM io-routines. + * + * Copyright (c) 1998 Harald Koerfgen + */ + +#include <linux/tty.h> +#include <linux/ptrace.h> +#include <linux/init.h> +#include <linux/console.h> +#include <linux/fs.h> + +#include <asm/dec/prom.h> + +static void prom_console_write(struct console *co, const char *s, + unsigned count) +{ + unsigned i; + + /* + * Now, do each character + */ + for (i = 0; i < count; i++) { + if (*s == 10) + prom_printf("%c", 13); + prom_printf("%c", *s++); + } +} + +static int __init prom_console_setup(struct console *co, char *options) +{ + return 0; +} + +static struct console sercons = +{ + .name = "ttyS", + .write = prom_console_write, + .setup = prom_console_setup, + .flags = CON_PRINTBUFFER, + .index = -1, +}; + +/* + * Register console. + */ + +static int __init prom_console_init(void) +{ + register_console(&sercons); + + return 0; +} +console_initcall(prom_console_init); |