summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1998-08-23 08:26:42 +0000
committerbde <bde@FreeBSD.org>1998-08-23 08:26:42 +0000
commit35fa8731253a1d4dacf0c2c7d39f2b77cd4bcc0c (patch)
tree89e7eed7449d834bed22fb54542711e65643ac81 /sys/dev
parenta86ea80a2987ff6a41fbe0c94f9029e6d2b6af5d (diff)
downloadFreeBSD-src-35fa8731253a1d4dacf0c2c7d39f2b77cd4bcc0c.zip
FreeBSD-src-35fa8731253a1d4dacf0c2c7d39f2b77cd4bcc0c.tar.gz
Added D_TTY to the cdevswitch flags for all tty drivers. This is required
for the Lite2 fix for always returning EIO in dead_read(). Cleaned up the cdevswitch initializers for all tty drivers. Removed explicit calls to ttsetwater() from all (tty) drivers. ttsetwater() is now called centrally for opens, not just for parameter changes.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/cy/cy.c9
-rw-r--r--sys/dev/cy/cy_isa.c9
-rw-r--r--sys/dev/dgb/dgb.c17
-rw-r--r--sys/dev/dgb/dgm.c17
-rw-r--r--sys/dev/rc/rc.c15
-rw-r--r--sys/dev/rp/rp.c17
-rw-r--r--sys/dev/si/si.c18
-rw-r--r--sys/dev/sio/sio.c9
-rw-r--r--sys/dev/syscons/syscons.c20
9 files changed, 69 insertions, 62 deletions
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c
index d10b911..3f76567 100644
--- a/sys/dev/cy/cy.c
+++ b/sys/dev/cy/cy.c
@@ -27,7 +27,7 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: cy.c,v 1.69 1998/08/19 04:17:38 bde Exp $
+ * $Id: cy.c,v 1.70 1998/08/20 05:21:50 bde Exp $
*/
#include "opt_compat.h"
@@ -378,12 +378,13 @@ static d_ioctl_t sioioctl;
static d_stop_t siostop;
static d_devtotty_t siodevtotty;
-#define CDEV_MAJOR 48
-static struct cdevsw sio_cdevsw = {
+#define CDEV_MAJOR 48
+static struct cdevsw sio_cdevsw = {
sioopen, sioclose, sioread, siowrite,
sioioctl, siostop, noreset, siodevtotty,
ttpoll, nommap, NULL, driver_name,
- NULL, -1,
+ NULL, -1, nodump, nopsize,
+ D_TTY,
};
static int comconsole = -1;
diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c
index d10b911..3f76567 100644
--- a/sys/dev/cy/cy_isa.c
+++ b/sys/dev/cy/cy_isa.c
@@ -27,7 +27,7 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: cy.c,v 1.69 1998/08/19 04:17:38 bde Exp $
+ * $Id: cy.c,v 1.70 1998/08/20 05:21:50 bde Exp $
*/
#include "opt_compat.h"
@@ -378,12 +378,13 @@ static d_ioctl_t sioioctl;
static d_stop_t siostop;
static d_devtotty_t siodevtotty;
-#define CDEV_MAJOR 48
-static struct cdevsw sio_cdevsw = {
+#define CDEV_MAJOR 48
+static struct cdevsw sio_cdevsw = {
sioopen, sioclose, sioread, siowrite,
sioioctl, siostop, noreset, siodevtotty,
ttpoll, nommap, NULL, driver_name,
- NULL, -1,
+ NULL, -1, nodump, nopsize,
+ D_TTY,
};
static int comconsole = -1;
diff --git a/sys/dev/dgb/dgb.c b/sys/dev/dgb/dgb.c
index 9537c12..aac2725 100644
--- a/sys/dev/dgb/dgb.c
+++ b/sys/dev/dgb/dgb.c
@@ -1,5 +1,5 @@
/*-
- * dgb.c $Id: dgb.c,v 1.38 1998/08/12 23:44:22 brian Exp $
+ * dgb.c $Id: dgb.c,v 1.39 1998/08/16 01:21:49 bde Exp $
*
* Digiboard driver.
*
@@ -222,11 +222,14 @@ static d_ioctl_t dgbioctl;
static d_stop_t dgbstop;
static d_devtotty_t dgbdevtotty;
-#define CDEV_MAJOR 58
-static struct cdevsw dgb_cdevsw =
- { dgbopen, dgbclose, dgbread, dgbwrite, /*58*/
- dgbioctl, dgbstop, noreset, dgbdevtotty, /* dgb */
- ttpoll, nommap, NULL, "dgb", NULL, -1 };
+#define CDEV_MAJOR 58
+static struct cdevsw dgb_cdevsw = {
+ dgbopen, dgbclose, dgbread, dgbwrite,
+ dgbioctl, dgbstop, noreset, dgbdevtotty,
+ ttpoll, nommap, NULL, "dgb",
+ NULL, -1, nodump, nopsize,
+ D_TTY,
+};
static speed_t dgbdefaultrate = TTYDEF_SPEED;
@@ -1071,8 +1074,6 @@ open_top:
goto out;
}
- ttsetwater(tp);
-
/* handle fake DCD for callout devices */
/* and initial DCD */
diff --git a/sys/dev/dgb/dgm.c b/sys/dev/dgb/dgm.c
index 487b1aa..eca931a 100644
--- a/sys/dev/dgb/dgm.c
+++ b/sys/dev/dgb/dgm.c
@@ -1,5 +1,5 @@
/*-
- * $Id: dgm.c,v 1.3 1998/08/12 17:38:09 bde Exp $
+ * $Id: dgm.c,v 1.4 1998/08/16 01:21:49 bde Exp $
*
* This driver and the associated header files support the ISA PC/Xem
* Digiboards. Its evolutionary roots are described below.
@@ -227,11 +227,14 @@ static d_ioctl_t dgmioctl;
static d_stop_t dgmstop;
static d_devtotty_t dgmdevtotty;
-#define CDEV_MAJOR 101
-static struct cdevsw dgm_cdevsw =
- { dgmopen, dgmclose, dgmread, dgmwrite,
- dgmioctl, dgmstop, noreset, dgmdevtotty, /* dgm */
- ttpoll, nommap, NULL, "dgm", NULL, -1 };
+#define CDEV_MAJOR 101
+static struct cdevsw dgm_cdevsw = {
+ dgmopen, dgmclose, dgmread, dgmwrite,
+ dgmioctl, dgmstop, noreset, dgmdevtotty,
+ ttpoll, nommap, NULL, "dgm",
+ NULL, -1, nodump, nopsize,
+ D_TTY,
+};
static speed_t dgmdefaultrate = TTYDEF_SPEED;
@@ -876,8 +879,6 @@ open_top:
goto out;
}
- ttsetwater(tp);
-
/* handle fake DCD for callout devices */
/* and initial DCD */
diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c
index 021f089..5f845c6 100644
--- a/sys/dev/rc/rc.c
+++ b/sys/dev/rc/rc.c
@@ -98,11 +98,14 @@ static d_ioctl_t rcioctl;
static d_stop_t rcstop;
static d_devtotty_t rcdevtotty;
-#define CDEV_MAJOR 63
-static struct cdevsw rc_cdevsw =
- { rcopen, rcclose, rcread, rcwrite, /*63*/
- rcioctl, rcstop, noreset, rcdevtotty,/* rc */
- ttpoll, nommap, NULL, "rc", NULL, -1 };
+#define CDEV_MAJOR 63
+static struct cdevsw rc_cdevsw = {
+ rcopen, rcclose, rcread, rcwrite,
+ rcioctl, rcstop, noreset, rcdevtotty,
+ ttpoll, nommap, NULL, "rc",
+ NULL, -1, nodump, nopsize,
+ D_TTY,
+};
/* Per-board structure */
static struct rc_softc {
@@ -777,8 +780,6 @@ again:
goto out;
(void) rc_modctl(rc, TIOCM_RTS|TIOCM_DTR, DMSET);
- ttsetwater(tp);
-
if ((rc->rc_msvr & MSVR_CD) || CALLOUT(dev))
(*linesw[tp->t_line].l_modem)(tp, 1);
}
diff --git a/sys/dev/rp/rp.c b/sys/dev/rp/rp.c
index e26c46c..847660e 100644
--- a/sys/dev/rp/rp.c
+++ b/sys/dev/rp/rp.c
@@ -788,8 +788,6 @@ struct isa_driver rpdriver = {
rpprobe, rpattach, "rp"
};
-#define CDEV_MAJOR 81
-
static char driver_name[] = "rp";
static d_open_t rpopen;
@@ -800,11 +798,14 @@ static d_ioctl_t rpioctl;
static d_stop_t rpstop;
static d_devtotty_t rpdevtotty;
-static struct cdevsw rp_cdevsw =
- { rpopen, rpclose, rpread, rpwrite,
- rpioctl, rpstop, noreset, rpdevtotty,
- ttpoll, nommap, NULL, driver_name,
- NULL, -1};
+#define CDEV_MAJOR 81
+static struct cdevsw rp_cdevsw = {
+ rpopen, rpclose, rpread, rpwrite,
+ rpioctl, rpstop, noreset, rpdevtotty,
+ ttpoll, nommap, NULL, driver_name,
+ NULL, -1, nodump, nopsize,
+ D_TTY,
+};
static int rp_controller_port = 0;
static int rp_num_ports_open = 0;
@@ -1400,8 +1401,6 @@ open_top:
return(error);
}
- ttsetwater(tp);
-
rp_num_ports_open++;
IntMask = sGetChanIntID(&rp->rp_channel);
diff --git a/sys/dev/si/si.c b/sys/dev/si/si.c
index 4b37f61..8b7dc26 100644
--- a/sys/dev/si/si.c
+++ b/sys/dev/si/si.c
@@ -30,7 +30,7 @@
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL THE AUTHORS BE LIABLE.
*
- * $Id: si.c,v 1.74 1998/08/16 00:57:07 bde Exp $
+ * $Id: si.c,v 1.75 1998/08/16 01:04:48 bde Exp $
*/
#ifndef lint
@@ -173,12 +173,14 @@ static d_ioctl_t siioctl;
static d_stop_t sistop;
static d_devtotty_t sidevtotty;
-#define CDEV_MAJOR 68
-static struct cdevsw si_cdevsw =
- { siopen, siclose, siread, siwrite, /*68*/
- siioctl, sistop, noreset, sidevtotty,/* si */
- ttpoll, nommap, NULL, "si", NULL, -1 };
-
+#define CDEV_MAJOR 68
+static struct cdevsw si_cdevsw = {
+ siopen, siclose, siread, siwrite,
+ siioctl, sistop, noreset, sidevtotty,
+ ttpoll, nommap, NULL, "si",
+ NULL, -1, nodump, nopsize,
+ D_TTY,
+};
#ifdef SI_DEBUG /* use: ``options "SI_DEBUG"'' in your config file */
@@ -1232,8 +1234,6 @@ open_top:
goto out;
/* XXX: we should goto_top if siparam slept */
- ttsetwater(tp);
-
/* set initial DCD state */
pp->sp_last_hi_ip = ccbp->hi_ip;
if ((pp->sp_last_hi_ip & IP_DCD) || IS_CALLOUT(mynor)) {
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index c36de17..ab21950 100644
--- a/sys/dev/sio/sio.c
+++ b/sys/dev/sio/sio.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.211 1998/08/19 04:17:37 bde Exp $
+ * $Id: sio.c,v 1.212 1998/08/20 05:12:48 bde Exp $
*/
#include "opt_comconsole.h"
@@ -343,12 +343,13 @@ static d_ioctl_t sioioctl;
static d_stop_t siostop;
static d_devtotty_t siodevtotty;
-#define CDEV_MAJOR 28
-static struct cdevsw sio_cdevsw = {
+#define CDEV_MAJOR 28
+static struct cdevsw sio_cdevsw = {
sioopen, sioclose, sioread, siowrite,
sioioctl, siostop, noreset, siodevtotty,
ttpoll, nommap, NULL, driver_name,
- NULL, -1,
+ NULL, -1, nodump, nopsize,
+ D_TTY,
};
static int comconsole = -1;
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 831f56b..d99ed3b 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.274 1998/08/14 06:32:03 sos Exp $
+ * $Id: syscons.c,v 1.275 1998/08/18 07:36:47 sos Exp $
*/
#include "sc.h"
@@ -336,11 +336,14 @@ static d_ioctl_t scioctl;
static d_devtotty_t scdevtotty;
static d_mmap_t scmmap;
-#define CDEV_MAJOR 12
-static struct cdevsw scdevsw = {
+#define CDEV_MAJOR 12
+static struct cdevsw sc_cdevsw = {
scopen, scclose, scread, scwrite,
scioctl, nullstop, noreset, scdevtotty,
- ttpoll, scmmap, nostrategy, "sc", NULL, -1 };
+ ttpoll, scmmap, nostrategy, "sc",
+ NULL, -1, nodump, nopsize,
+ D_TTY,
+};
/*
* These functions need to be before calls to them so they can be inlined.
@@ -833,16 +836,16 @@ scattach(struct isa_device *dev)
at_shutdown(scshutdown, NULL, SHUTDOWN_PRE_SYNC);
- cdevsw_add(&cdev, &scdevsw, NULL);
+ cdevsw_add(&cdev, &sc_cdevsw, NULL);
#ifdef DEVFS
for (vc = 0; vc < MAXCONS; vc++)
- sc_devfs_token[vc] = devfs_add_devswf(&scdevsw, vc, DV_CHR,
+ sc_devfs_token[vc] = devfs_add_devswf(&sc_cdevsw, vc, DV_CHR,
UID_ROOT, GID_WHEEL, 0600, "ttyv%r", vc);
sc_vga_devfs_token = devfs_link(sc_devfs_token[0], "vga");
- sc_mouse_devfs_token = devfs_add_devswf(&scdevsw, SC_MOUSE, DV_CHR,
+ sc_mouse_devfs_token = devfs_add_devswf(&sc_cdevsw, SC_MOUSE, DV_CHR,
UID_ROOT, GID_WHEEL, 0600, "sysmouse");
- sc_console_devfs_token = devfs_add_devswf(&scdevsw, SC_CONSOLE, DV_CHR,
+ sc_console_devfs_token = devfs_add_devswf(&sc_cdevsw, SC_CONSOLE, DV_CHR,
UID_ROOT, GID_WHEEL, 0600, "consolectl");
#endif
return 0;
@@ -886,7 +889,6 @@ scopen(dev_t dev, int flag, int mode, struct proc *p)
tp->t_lflag = TTYDEF_LFLAG;
tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
scparam(tp, &tp->t_termios);
- ttsetwater(tp);
(*linesw[tp->t_line].l_modem)(tp, 1);
if (minor(dev) == SC_MOUSE)
mouse_level = 0; /* XXX */
OpenPOWER on IntegriCloud