arc_con.c (1055B)
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 18static 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 29static 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 36static 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 48static int __init arc_console_init(void) 49{ 50 register_console(&arc_cons); 51 52 return 0; 53} 54console_initcall(arc_console_init);