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