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  
prom_console_write(struct console * co,const char * s,unsigned count)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  
prom_console_setup(struct console * co,char * options)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  
arc_console_init(void)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