From a2c68c62dba7acc1de5dd6a6141484d9c12844fe Mon Sep 17 00:00:00 2001 From: phk Date: Sat, 25 Sep 1999 16:21:39 +0000 Subject: This patch clears the way for removing a number of tty related fields in struct cdevsw: d_stop moved to struct tty. d_reset already unused. d_devtotty linkage now provided by dev_t->si_tty. These fields will be removed from struct cdevsw together with d_params and d_maxio Real Soon Now. The changes in this patch consist of: initialize dev->si_tty in *_open() initialize tty->t_stop remove devtotty functions rename ttpoll to ttypoll a few adjustments to these changes in the generic code a bump of __FreeBSD_version add a couple of FreeBSD tags --- sys/dev/rp/rp.c | 39 ++++++--------------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) (limited to 'sys/dev/rp/rp.c') diff --git a/sys/dev/rp/rp.c b/sys/dev/rp/rp.c index a3a4db2..d788b57 100644 --- a/sys/dev/rp/rp.c +++ b/sys/dev/rp/rp.c @@ -797,8 +797,6 @@ static d_close_t rpclose; static d_read_t rpread; static d_write_t rpwrite; static d_ioctl_t rpioctl; -static d_stop_t rpstop; -static d_devtotty_t rpdevtotty; #define CDEV_MAJOR 81 static struct cdevsw rp_cdevsw = { @@ -807,10 +805,10 @@ static struct cdevsw rp_cdevsw = { /* read */ rpread, /* write */ rpwrite, /* ioctl */ rpioctl, - /* stop */ rpstop, + /* stop */ nostop, /* reset */ noreset, - /* devtotty */ rpdevtotty, - /* poll */ ttpoll, + /* devtotty */ nodevtotty, + /* poll */ ttypoll, /* mmap */ nommap, /* strategy */ nostrategy, /* name */ driver_name, @@ -859,10 +857,9 @@ static struct rp_port *p_rp_table[MAX_RP_PORTS]; * The top-level routines begin here */ -int rpselect __P((dev_t, int, struct proc *)); - static int rpparam __P((struct tty *, struct termios *)); static void rpstart __P((struct tty *)); +static void rpstop __P((struct tty *, int)); static void rphardclose __P((struct rp_port *)); #define rpmap nomap #define rpreset noreset @@ -1310,6 +1307,7 @@ rpopen(dev, flag, mode, p) /* rp->rp_tty = &rp_tty[rp->rp_port]; */ tp = rp->rp_tty; + dev->si_tty = tp; oldspl = spltty(); @@ -1349,6 +1347,7 @@ open_top: tp->t_dev = dev; tp->t_param = rpparam; tp->t_oproc = rpstart; + tp->t_stop = rpstop; tp->t_line = 0; tp->t_termios = IS_CALLOUT(dev) ? rp->it_out : rp->it_in; flags = 0; @@ -2017,29 +2016,3 @@ rpstop(tp, flag) splx(spl); rpstart(tp); } - -int -rpselect(dev, flag, p) - dev_t dev; - int flag; - struct proc *p; -{ - return(0); -} - -struct tty * -rpdevtotty(dev_t dev) -{ - struct rp_port *rp; - int unit, port, mynor, umynor; /* SG */ - - umynor = (((minor(dev) >> 16) -1) * 32); /* SG */ - port = (minor(dev) & 0x1f); /* SG */ - mynor = (port + umynor); /* SG */ - unit = minor_to_unit[mynor]; /* SG */ - - if(IS_CONTROL(dev)) - return(NULL); - rp = rp_addr(unit) + port; - return(rp->rp_tty); -} -- cgit v1.1