| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Wrap-around code for a console using the | 
					
						
							|  |  |  |  * ARC io-routines. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (c) 1998 Harald Koerfgen | 
					
						
							|  |  |  |  * Copyright (c) 2001 Ralf Baechle | 
					
						
							|  |  |  |  * Copyright (c) 2002 Thiemo Seufer | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #include <linux/tty.h>
 | 
					
						
							|  |  |  | #include <linux/major.h>
 | 
					
						
							|  |  |  | #include <linux/init.h>
 | 
					
						
							|  |  |  | #include <linux/console.h>
 | 
					
						
							|  |  |  | #include <linux/fs.h>
 | 
					
						
							|  |  |  | #include <asm/sgialib.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void prom_console_write(struct console *co, const char *s, | 
					
						
							|  |  |  | 			       unsigned count) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	/* Do each character */ | 
					
						
							|  |  |  | 	while (count--) { | 
					
						
							|  |  |  | 		if (*s == '\n') | 
					
						
							|  |  |  | 			prom_putchar('\r'); | 
					
						
							|  |  |  | 		prom_putchar(*s++); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-03-03 17:35:15 +00:00
										 |  |  | static int prom_console_setup(struct console *co, char *options) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | { | 
					
						
							|  |  |  | 	return !(prom_flags & PROM_FLAG_USE_AS_CONSOLE); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static struct console arc_cons = { | 
					
						
							|  |  |  | 	.name		= "arc", | 
					
						
							|  |  |  | 	.write		= prom_console_write, | 
					
						
							|  |  |  | 	.setup		= prom_console_setup, | 
					
						
							|  |  |  | 	.flags		= CON_PRINTBUFFER, | 
					
						
							|  |  |  | 	.index		= -1, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  *    Register console. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static int __init arc_console_init(void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	register_console(&arc_cons); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | console_initcall(arc_console_init); |