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 000000000000..9f0972f5a702 --- /dev/null +++ b/arch/mips/dec/promcon.c | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * Wrap-around code for a console using the | ||
3 | * DECstation PROM io-routines. | ||
4 | * | ||
5 | * Copyright (c) 1998 Harald Koerfgen | ||
6 | */ | ||
7 | |||
8 | #include <linux/tty.h> | ||
9 | #include <linux/ptrace.h> | ||
10 | #include <linux/init.h> | ||
11 | #include <linux/console.h> | ||
12 | #include <linux/fs.h> | ||
13 | |||
14 | #include <asm/dec/prom.h> | ||
15 | |||
16 | static void prom_console_write(struct console *co, const char *s, | ||
17 | unsigned count) | ||
18 | { | ||
19 | unsigned i; | ||
20 | |||
21 | /* | ||
22 | * Now, do each character | ||
23 | */ | ||
24 | for (i = 0; i < count; i++) { | ||
25 | if (*s == 10) | ||
26 | prom_printf("%c", 13); | ||
27 | prom_printf("%c", *s++); | ||
28 | } | ||
29 | } | ||
30 | |||
31 | static int __init prom_console_setup(struct console *co, char *options) | ||
32 | { | ||
33 | return 0; | ||
34 | } | ||
35 | |||
36 | static struct console sercons = | ||
37 | { | ||
38 | .name = "ttyS", | ||
39 | .write = prom_console_write, | ||
40 | .setup = prom_console_setup, | ||
41 | .flags = CON_PRINTBUFFER, | ||
42 | .index = -1, | ||
43 | }; | ||
44 | |||
45 | /* | ||
46 | * Register console. | ||
47 | */ | ||
48 | |||
49 | static int __init prom_console_init(void) | ||
50 | { | ||
51 | register_console(&sercons); | ||
52 | |||
53 | return 0; | ||
54 | } | ||
55 | console_initcall(prom_console_init); | ||