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/sgialib.h> 16 17 static 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 28 static int prom_console_setup(struct console *co, char *options) 29 { 30 return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE); 31 } 32 33 static struct console arc_cons = { 34 .name = "arc", 35 .write = prom_console_write, 36 .setup = prom_console_setup, 37 .flags = CON_PRINTBUFFER, 38 .index = -1, 39 }; 40 41 /* 42 * Register console. 43 */ 44 45 static int __init arc_console_init(void) 46 { 47 register_console(&arc_cons); 48 49 return 0; 50 } 51 console_initcall(arc_console_init); 52