Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / arch / mips / dec / promcon.c
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);