1 #include <linux/init.h> 2 #include <linux/console.h> 3 4 #include "chan_user.h" 5 6 /* ----------------------------------------------------------------------------- */ 7 /* trivial console driver -- simply dump everything to stderr */ 8 9 /* 10 * Don't register by default -- as this registeres very early in the 11 * boot process it becomes the default console. And as this isn't a 12 * real tty driver init isn't able to open /dev/console then. 13 * 14 * In most cases this isn't what you want ... 15 */ 16 static int use_stderr_console = 0; 17 18 static void stderr_console_write(struct console *console, const char *string, 19 unsigned len) 20 { 21 generic_write(2 /* stderr */, string, len, NULL); 22 } 23 24 static struct console stderr_console = { 25 .name = "stderr", 26 .write = stderr_console_write, 27 .flags = CON_PRINTBUFFER, 28 }; 29 30 static int __init stderr_console_init(void) 31 { 32 if (use_stderr_console) 33 register_console(&stderr_console); 34 return 0; 35 } 36 console_initcall(stderr_console_init); 37 38 static int stderr_setup(char *str) 39 { 40 if (!str) 41 return 0; 42 use_stderr_console = simple_strtoul(str,&str,0); 43 return 1; 44 } 45 __setup("stderr=", stderr_setup); 46