Index: linux/kernel/printk.c =================================================================== RCS file: /cvs/linux/linux/kernel/printk.c,v retrieving revision 1.40 diff -u -r1.40 printk.c --- linux/kernel/printk.c 2000/02/14 07:37:40 1.40 +++ linux/kernel/printk.c 2000/02/24 11:59:48 @@ -45,16 +45,23 @@ spinlock_t console_lock = SPIN_LOCK_UNLOCKED; -struct console *console_drivers = NULL; +static void null_write(struct console*, const char*, unsigned); +static kdev_t null_device(struct console*); +struct console null_console = { +name: "null", +write: null_write, +device: null_device, +}; + +struct console *console_drivers = &null_console; + static char log_buf[LOG_BUF_LEN]; static unsigned long log_start = 0; static unsigned long logged_chars = 0; struct console_cmdline console_cmdline[MAX_CMDLINECONSOLES]; static int preferred_console = -1; -/* - * Setup a list of consoles. Called from init/main.c - */ + static int __init console_setup(char *str) { struct console_cmdline *c; @@ -486,4 +493,18 @@ if (tty && tty->driver.write) tty->driver.write(tty, 0, msg, strlen(msg)); return; +} + + +/* + * null console methods + */ +static void null_write(struct console *c, const char *s, unsigned l) +{ + /* nuthin' */ +} + +static kdev_t null_device(struct console *c) +{ + return MKDEV(MEM_MAJOR, 3); /* it's hardcoded in mem.c, why not here */ }