1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Wrap-around code for a console using the 4 * ARC io-routines. 5 * 6 * Copyright (c) 1998 Harald Koerfgen 7 * Copyright (c) 2001 Ralf Baechle 8 * Copyright (c) 2002 Thiemo Seufer 9 */ 10 #include <linux/tty.h> 11 #include <linux/major.h> 12 #include <linux/init.h> 13 #include <linux/console.h> 14 #include <linux/fs.h> 15 #include <asm/setup.h> 16 #include <asm/sgialib.h> 17 18 static void prom_console_write(struct console *co, const char *s, 19 unsigned count) 20 { 21 /* Do each character */ 22 while (count--) { 23 if (*s == '\n') 24 prom_putchar('\r'); 25 prom_putchar(*s++); 26 } 27 } 28 29 static int prom_console_setup(struct console *co, char *options) 30 { 31 return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE); 32 } 33 34 static struct console arc_cons = { 35 .name = "arc", 36 .write = prom_console_write, 37 .setup = prom_console_setup, 38 .flags = CON_PRINTBUFFER, 39 .index = -1, 40 }; 41 42 /* 43 * Register console. 44 */ 45 46 static int __init arc_console_init(void) 47 { 48 register_console(&arc_cons); 49 50 return 0; 51 } 52 console_initcall(arc_console_init); 53