From: James S. <jsi...@us...> - 2001-12-06 23:32:53
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv5434/drivers/char Modified Files: tty_io.c vt.c Log Message: Start of reworking the console lock. Index: tty_io.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- tty_io.c 2001/11/23 04:10:15 1.38 +++ tty_io.c 2001/12/06 23:32:50 1.39 @@ -100,14 +100,7 @@ #ifdef CONFIG_VT #include <linux/vt_kern.h> -extern void con_init_devfs (void); -#ifdef CONFIG_PROM_CONSOLE -extern void prom_con_init(void); #endif -#ifdef CONFIG_FRAMEBUFFER_CONSOLE -extern void fb_console_init(void); -#endif -#endif #define TTY_DEV MKDEV(TTYAUX_MAJOR,0) #define SYSCONS_DEV MKDEV(TTYAUX_MAJOR,1) @@ -2307,15 +2300,7 @@ #endif #ifdef CONFIG_VT -#if defined (CONFIG_PROM_CONSOLE) - prom_con_init(); -#endif -#if defined (CONFIG_FRAMEBUFFER_CONSOLE) - fb_console_init(); -#endif - kbd_init(); - console_map_init(); - vcs_init(); + vty_init(); #endif #ifdef CONFIG_ESPSERIAL /* init ESP before rs, so rs doesn't see the port */ espserial_init(); Index: vt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt.c,v retrieving revision 1.110 retrieving revision 1.111 diff -u -d -r1.110 -r1.111 --- vt.c 2001/10/29 00:10:59 1.110 +++ vt.c 2001/12/06 23:32:50 1.111 @@ -54,6 +54,12 @@ #ifdef CONFIG_MDA_CONSOLE extern void mda_console_init(void); #endif +#if defined (CONFIG_PROM_CONSOLE) +extern void prom_con_init(void); +#endif +#if defined (CONFIG_FRAMEBUFFER_CONSOLE) +extern void fb_console_init(void); +#endif #ifndef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) @@ -1544,6 +1550,12 @@ vt->default_mode->display_fg = vt; vt->vc_cons[0] = vc_allocate(current_vc); vt->keyboard = NULL; + + init_timer(&vt->timer); + vt->timer.data = (long) vt; + vt->timer.function = blank_screen; + mod_timer(&vt->timer, jiffies + vt->blank_interval); + INIT_TQUEUE(&vt->vt_tq, vt_callback, vt); if (!admin_vt) { struct vc_data *vc = vt->vc_cons[0]; @@ -1556,11 +1568,6 @@ vte_ed(vt->vc_cons[0], 0); update_screen(vt->vc_cons[0]); } - init_timer(&vt->timer); - vt->timer.data = (long) vt; - vt->timer.function = blank_screen; - mod_timer(&vt->timer, jiffies + vt->blank_interval); - INIT_TQUEUE(&vt->vt_tq, vt_callback, vt); current_vc += MAX_NR_USER_CONSOLES; return display_desc; } @@ -1583,6 +1590,20 @@ #if defined(CONFIG_MDA_CONSOLE) mda_console_init(); #endif +} + +int __init vty_init(void) +{ +#if defined (CONFIG_PROM_CONSOLE) + prom_con_init(); +#endif +#if defined (CONFIG_FRAMEBUFFER_CONSOLE) + fb_console_init(); +#endif + kbd_init(); + console_map_init(); + vcs_init(); + return 0; } static void clear_buffer_attributes(struct vc_data *vc) |