|
From: Jan-Benedict G. <jb...@us...> - 2004-11-18 21:21:33
|
Update of /cvsroot/linux-vax/kernel-2.5/drivers/char In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15018 Modified Files: dz.c Log Message: - Fix dz.c for ldisc changes. - Fix dz.c for updates to the SERIO subsystem. - Flag the first two lines to hold a lkkbd or a vsxxx. In theory, this should obsolete the need for inputattach (that is, it should now just work (TM)) - Compile tested only (famous last words). - Run test scheduled for tomorrow morning. Index: dz.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/drivers/char/dz.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- dz.c 8 Aug 2004 23:23:22 -0000 1.24 +++ dz.c 18 Nov 2004 21:21:20 -0000 1.25 @@ -1098,14 +1098,8 @@ info->event = 0; info->tty = 0; - if (tty->ldisc.num != ldiscs[N_TTY].num) { - if (tty->ldisc.close) - tty->ldisc.close(tty); - tty->ldisc = ldiscs[N_TTY]; - tty->termios->c_line = N_TTY; - if (tty->ldisc.open) - tty->ldisc.open(tty); - } + tty_ldisc_flush(tty); + if (info->blocked_open) { if (info->close_delay) { current->state = TASK_INTERRUPTIBLE; @@ -1255,7 +1249,7 @@ static int dz_serio_write (struct serio *serio, unsigned char one_byte) { - struct dz_serial *info = serio->driver; + struct dz_serial *info = serio->port_data; unsigned long flags; spin_lock_irqsave (&dz_serio_lock, flags); @@ -1268,7 +1262,7 @@ static int dz_serio_open (struct serio *serio) { - struct dz_serial *info = serio->driver; + struct dz_serial *info = serio->port_data; unsigned long flags; int ret; @@ -1286,7 +1280,7 @@ static void dz_serio_close (struct serio *serio) { - struct dz_serial *info = serio->driver; + struct dz_serial *info = serio->port_data; unsigned long flags; spin_lock_irqsave (&dz_serio_lock, flags); @@ -1382,27 +1376,27 @@ #ifdef CONFIG_SERIO memset(&info->serio, 0, sizeof(info->serio)); - info->serio.driver = info; + info->serio.port_data = info; info->serio.type = SERIO_RS232; switch (i) { case DZ_KEYBOARD: - /* info->serio.type |= SERIO_LKKBD; */ - info->serio.name = "dzkbd"; - info->serio.phys = "dz/line0"; + info->serio.type |= SERIO_RS232 | SERIO_LKKBD; + sprintf (info->serio.name, "dzkbd"); + sprintf (info->serio.phys, "dz/line0"); break; case DZ_MOUSE: - /* info->serio.type |= SERIO_VSXXXAA; */ - info->serio.name = "dzmouse"; - info->serio.phys = "dz/line1"; + info->serio.type |= SERIO_RS232 | SERIO_VSXXXAA; + sprintf (info->serio.name, "dzmouse"); + sprintf (info->serio.phys, "dz/line1"); break; case DZ_MODEM: - info->serio.name = "dz"; - info->serio.phys = "dz/line2"; + sprintf (info->serio.name, "dz"); + sprintf (info->serio.phys, "dz/line2"); break; case DZ_PRINTER: - info->serio.name = "dz"; - info->serio.phys = "dz/line3"; + sprintf (info->serio.name, "dz"); + sprintf (info->serio.phys, "dz/line3"); break; } |