|  | /* | 
|  | * Wrap-around code for a console using the | 
|  | * ARC io-routines. | 
|  | * | 
|  | * Copyright (c) 1998 Harald Koerfgen | 
|  | * Copyright (c) 2001 Ralf Baechle | 
|  | * Copyright (c) 2002 Thiemo Seufer | 
|  | */ | 
|  | #include <linux/tty.h> | 
|  | #include <linux/major.h> | 
|  | #include <linux/init.h> | 
|  | #include <linux/console.h> | 
|  | #include <linux/fs.h> | 
|  | #include <asm/sgialib.h> | 
|  |  | 
|  | static void prom_console_write(struct console *co, const char *s, | 
|  | unsigned count) | 
|  | { | 
|  | /* Do each character */ | 
|  | while (count--) { | 
|  | if (*s == '\n') | 
|  | prom_putchar('\r'); | 
|  | prom_putchar(*s++); | 
|  | } | 
|  | } | 
|  |  | 
|  | static int prom_console_setup(struct console *co, char *options) | 
|  | { | 
|  | return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE); | 
|  | } | 
|  |  | 
|  | static struct console arc_cons = { | 
|  | .name		= "arc", | 
|  | .write		= prom_console_write, | 
|  | .setup		= prom_console_setup, | 
|  | .flags		= CON_PRINTBUFFER, | 
|  | .index		= -1, | 
|  | }; | 
|  |  | 
|  | /* | 
|  | *    Register console. | 
|  | */ | 
|  |  | 
|  | static int __init arc_console_init(void) | 
|  | { | 
|  | register_console(&arc_cons); | 
|  |  | 
|  | return 0; | 
|  | } | 
|  | console_initcall(arc_console_init); |