Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 11/27/2005 05:35:52
Module Name: src
Committed By: thorpej
Date: Sun Nov 27 05:35:52 UTC 2005
Modified Files:
src/sys/arch/pmax/dev: rcons.c
src/sys/compat/common: tty_43.c
src/sys/dev/hpc: biconsdev.c hpf1275a_tty.c
src/sys/dev/ir: irframe_tty.c
src/sys/dev/sun: sunkbd.c sunms.c
src/sys/kern: init_main.c tty.c tty_conf.c tty_tb.c
src/sys/net: if_ppp.c if_sl.c if_slvar.h if_strip.c if_stripvar.h
ppp_tty.c
src/sys/sys: conf.h param.h tty.h
Log Message:
Overhaul how TTY line disciplines are handled:
- Replace references to linesw[0] with a ttyldisc_default() function
that returns the default ("termios") line discipline.
- The linesw[] array is gone, replaced by a linked list.
- ttyldisc_add() and ttyldisc_remove() have been replaced by
ttyldisc_attach() and ttyldisc_detach().
- Things that provide line disciplines are now responsible for
registering those disciplines with the system. The linesw
structures are no longer declared in tty_conf.c
- Line disciplines are now refcounted; a lookup causes a reference to
be held. ttyldisc_release() releases the reference. Attempts to
detach an in-use line discipline result in EBUSY.
- Fix function signature lossage in if_sl.c, if_strip.c, and tty_tb.c
that was masked by the old tty_conf.c
- tty_init() is no longer necessary; delete it and its call from main().
To generate a diff of this commit:
cvs rdiff -r1.61 -r1.62 src/sys/arch/pmax/dev/rcons.c
cvs rdiff -r1.18 -r1.19 src/sys/compat/common/tty_43.c
cvs rdiff -r1.11 -r1.12 src/sys/dev/hpc/biconsdev.c
cvs rdiff -r1.2 -r1.3 src/sys/dev/hpc/hpf1275a_tty.c
cvs rdiff -r1.29 -r1.30 src/sys/dev/ir/irframe_tty.c
cvs rdiff -r1.21 -r1.22 src/sys/dev/sun/sunkbd.c
cvs rdiff -r1.19 -r1.20 src/sys/dev/sun/sunms.c
cvs rdiff -r1.258 -r1.259 src/sys/kern/init_main.c
cvs rdiff -r1.176 -r1.177 src/sys/kern/tty.c
cvs rdiff -r1.47 -r1.48 src/sys/kern/tty_conf.c
cvs rdiff -r1.32 -r1.33 src/sys/kern/tty_tb.c
cvs rdiff -r1.101 -r1.102 src/sys/net/if_ppp.c
cvs rdiff -r1.92 -r1.93 src/sys/net/if_sl.c
cvs rdiff -r1.27 -r1.28 src/sys/net/if_slvar.h
cvs rdiff -r1.61 -r1.62 src/sys/net/if_strip.c
cvs rdiff -r1.13 -r1.14 src/sys/net/if_stripvar.h
cvs rdiff -r1.38 -r1.39 src/sys/net/ppp_tty.c
cvs rdiff -r1.119 -r1.120 src/sys/sys/conf.h
cvs rdiff -r1.223 -r1.224 src/sys/sys/param.h
cvs rdiff -r1.67 -r1.68 src/sys/sys/tty.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.