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 if (prom_flags & PROM_FLAG_USE_AS_CONSOLE) 32 return 0; 33 return -ENODEV; 34 } 35 36 static struct console arc_cons = { 37 .name = "arc", 38 .write = prom_console_write, 39 .setup = prom_console_setup, 40 .flags = CON_PRINTBUFFER, 41 .index = -1, 42 }; 43 44 /* 45 * Register console. 46 */ 47 48 static int __init arc_console_init(void) 49 { 50 register_console(&arc_cons); 51 52 return 0; 53 } 54 console_initcall(arc_console_init); 55