import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / 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/ptrace.h>
12 #include <linux/init.h>
13 #include <linux/console.h>
14 #include <linux/fs.h>
15 #include <asm/sgialib.h>
16
17 static void prom_console_write(struct console *co, const char *s,
18                                unsigned count)
19 {
20         /* Do each character */
21         while (count--) {
22                 if (*s == '\n')
23                         prom_putchar('\r');
24                 prom_putchar(*s++);
25         }
26 }
27
28 static kdev_t prom_console_device(struct console *co)
29 {
30         return MKDEV(TTY_MAJOR, 64 + co->index);
31 }
32
33 static int __init prom_console_setup(struct console *co, char *options)
34 {
35         return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE);
36 }
37
38 static struct console arc_cons = {
39         .name           = "arc",
40         .write          = prom_console_write,
41         .device         = prom_console_device,
42         .setup          = prom_console_setup,
43         .flags          = CON_PRINTBUFFER,
44         .index          = -1,
45 };
46
47 /*
48  *    Register console.
49  */
50
51 void __init arc_console_init(void)
52 {
53         register_console(&arc_cons);
54 }