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 17static 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 28static kdev_t prom_console_device(struct console *co) 29{ 30 return MKDEV(TTY_MAJOR, 64 + co->index); 31} 32 33static int __init prom_console_setup(struct console *co, char *options) 34{ 35 return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE); 36} 37 38static 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 51void __init arc_console_init(void) 52{ 53 register_console(&arc_cons); 54} 55