xref: /linux/arch/mips/fw/arc/arc_con.c (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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);
51