From: Aivils S. <ai...@us...> - 2003-10-14 08:32:17
|
Update of /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char In directory sc8-pr-cvs1:/tmp/cvs-serv19483/ruby-2.6/drivers/char Modified Files: keyboard.c tty_io.c vt.c Log Message: fbdev real multiuser arrive Index: keyboard.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/keyboard.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- keyboard.c 2 Oct 2003 09:32:18 -0000 1.5 +++ keyboard.c 14 Oct 2003 08:32:10 -0000 1.6 @@ -1149,7 +1149,7 @@ if (!vt->keyboard) { vt->keyboard = handle; handle->private = vt; - printk(KERN_INFO "keyboard.c: %s vc:%d-%d\n", + printk(KERN_INFO "keyboard.c: [%s] vc:%d-%d\n", dev->name, vt->first_vc + 1, vt->first_vc + vt->vc_count); if(test_bit(EV_SND, dev->evbit)) { Index: tty_io.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/tty_io.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- tty_io.c 2 Oct 2003 09:32:18 -0000 1.3 +++ tty_io.c 14 Oct 2003 08:32:10 -0000 1.4 @@ -1299,17 +1299,21 @@ } #ifdef CONFIG_VT if (device == MKDEV(TTY_MAJOR,0)) { - struct vc_data *vc; - extern struct tty_driver *console_driver; - if (!current->tty) - return -ENXIO; - driver = console_driver; - vc = (struct vc_data *)current->tty->driver_data; - if (!vc) - return -ENXIO; - index = vc->display_fg->fg_console->vc_num; - noctty = 1; - goto got_driver; + struct vc_data *vc = NULL; + extern struct tty_driver *console_driver; + + driver = console_driver; + if (current->tty && + filp->f_op->write == redirected_tty_write && + current->tty->index > 0 && + current->tty->index < MAX_NR_CONSOLES) + vc = (struct vc_data *)current->tty->driver_data; + if (vc) + index = vc->display_fg->fg_console->vc_num; + else + index = admin_vt->fg_console->vc_num; + noctty = 1; + goto got_driver; } #endif if (device == MKDEV(TTYAUX_MAJOR,1)) { Index: vt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/ruby-2.6/drivers/char/vt.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- vt.c 2 Oct 2003 09:32:18 -0000 1.6 +++ vt.c 14 Oct 2003 08:32:10 -0000 1.7 @@ -141,7 +141,7 @@ static void unblank_screen_t(unsigned long dummy); #ifdef CONFIG_VT_CONSOLE -static int kmsg_redirect = 1; /* kmsg_redirect is the VC for printk */ +static int kmsg_redirect = 0; /* kmsg_redirect is the VC for printk */ static int printable; /* Is console ready for printing? */ #endif @@ -1026,7 +1026,7 @@ struct vt_struct *vt = vc->display_fg; acquire_console_sem(); - if (vc) { + if (vc && vc->vc_num > MIN_NR_CONSOLES) { sw->con_deinit(vc); vt->vc_cons[cons_num - vt->first_vc] = NULL; if (kmalloced) @@ -1842,9 +1842,6 @@ #if defined (CONFIG_PROM_CONSOLE) prom_con_init(); #endif -#if defined (CONFIG_FRAMEBUFFER_CONSOLE) - fb_console_init(); -#endif #if defined (CONFIG_DUMMY_CONSOLE) dumb_console_init(); #endif |