Merge master.kernel.org:/home/rmk/linux-2.6-mmc
[linux-2.6] / arch / mips / arc / arc_con.c
1 /*
2  * Wrap-around code for a console using the
3  * ARC io-routines.
4  *
5  * Copyright (c) 1998 Harald Koerfgen
6  * Copyright (c) 2001 Ralf Baechle
7  * Copyright (c) 2002 Thiemo Seufer
8  */
9 #include <linux/tty.h>
10 #include <linux/major.h>
11 #include <linux/init.h>
12 #include <linux/console.h>
13 #include <linux/fs.h>
14 #include <asm/sgialib.h>
15
16 static void prom_console_write(struct console *co, const char *s,
17                                unsigned count)
18 {
19         /* Do each character */
20         while (count--) {
21                 if (*s == '\n')
22                         prom_putchar('\r');
23                 prom_putchar(*s++);
24         }
25 }
26
27 static int prom_console_setup(struct console *co, char *options)
28 {
29         return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE);
30 }
31
32 static struct console arc_cons = {
33         .name           = "arc",
34         .write          = prom_console_write,
35         .setup          = prom_console_setup,
36         .flags          = CON_PRINTBUFFER,
37         .index          = -1,
38 };
39
40 /*
41  *    Register console.
42  */
43
44 static int __init arc_console_init(void)
45 {
46         register_console(&arc_cons);
47
48         return 0;
49 }
50 console_initcall(arc_console_init);