summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1996-07-23 21:52:43 +0000
committerphk <phk@FreeBSD.org>1996-07-23 21:52:43 +0000
commit507c8709748944c310d7a558ec0e27130fadb6f4 (patch)
treeb7107b6c401f05c3026e9bfb11ea285a7b376aba
parentb27f4b2c811818ccd3f03bd1aad99a231b5b2b18 (diff)
downloadFreeBSD-src-507c8709748944c310d7a558ec0e27130fadb6f4.zip
FreeBSD-src-507c8709748944c310d7a558ec0e27130fadb6f4.tar.gz
Make a "DWIM" function for adding [bc]devsw entries for bdev drivers.
Saves about 280 butes of source per driver, 56 bytes in object size and another 56 bytes moves from data to bss. No functional change intended nor expected. GENERIC should be about one k smaller now :-)
-rw-r--r--sys/dev/ccd/ccd.c17
-rw-r--r--sys/dev/fdc/fdc.c16
-rw-r--r--sys/dev/mcd/mcd.c16
-rw-r--r--sys/dev/scd/scd.c17
-rw-r--r--sys/dev/vn/vn.c17
-rw-r--r--sys/geom/geom_ccd.c17
-rw-r--r--sys/i386/isa/fd.c16
-rw-r--r--sys/i386/isa/matcd/matcd.c18
-rw-r--r--sys/i386/isa/mcd.c16
-rw-r--r--sys/i386/isa/scd.c17
-rw-r--r--sys/i386/isa/wcd.c14
-rw-r--r--sys/i386/isa/wd.c17
-rw-r--r--sys/i386/isa/wt.c17
-rw-r--r--sys/isa/fd.c16
-rw-r--r--sys/kern/kern_conf.c36
-rw-r--r--sys/scsi/cd.c16
-rw-r--r--sys/scsi/od.c15
-rw-r--r--sys/scsi/sd.c15
-rw-r--r--sys/scsi/st.c16
-rw-r--r--sys/sys/conf.h4
-rw-r--r--sys/sys/linedisc.h4
21 files changed, 94 insertions, 243 deletions
diff --git a/sys/dev/ccd/ccd.c b/sys/dev/ccd/ccd.c
index 3e1c366..662bd8c 100644
--- a/sys/dev/ccd/ccd.c
+++ b/sys/dev/ccd/ccd.c
@@ -1,4 +1,4 @@
-/* $Id: ccd.c,v 1.13 1996/06/12 04:58:03 gpalmer Exp $ */
+/* $Id: ccd.c,v 1.14 1996/07/21 09:28:03 phk Exp $ */
/* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */
@@ -182,20 +182,13 @@ d_write_t ccdwrite;
#define CDEV_MAJOR 74
#define BDEV_MAJOR 21
-extern struct cdevsw ccd_cdevsw;
+static struct cdevsw ccd_cdevsw;
static struct bdevsw ccd_bdevsw = {
ccdopen, ccdclose, ccdstrategy, ccdioctl,
ccddump, ccdsize, 0,
"ccd", &ccd_cdevsw, -1
};
-static struct cdevsw ccd_cdevsw = {
- ccdopen, ccdclose, rawread, rawwrite,
- ccdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, ccdstrategy,
- "ccd", &ccd_bdevsw, -1
-};
-
/* Called by main() during pseudo-device attachment */
static void ccdattach __P((void *));
PSEUDO_SET(ccdattach, ccd);
@@ -250,7 +243,6 @@ ccdattach(dummy)
{
int i;
int num = NCCD;
- dev_t dev;
if (num > 1)
printf("ccd0-%d: Concatenated disk drivers\n", num-1);
@@ -278,10 +270,7 @@ ccdattach(dummy)
ccddevs[i].ccd_dk = -1;
if( ! ccd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&ccd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&ccd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &ccd_bdevsw);
ccd_devsw_installed = 1;
}
else {
diff --git a/sys/dev/fdc/fdc.c b/sys/dev/fdc/fdc.c
index 9f37832..ac20996 100644
--- a/sys/dev/fdc/fdc.c
+++ b/sys/dev/fdc/fdc.c
@@ -43,7 +43,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
- * $Id: fd.c,v 1.89 1996/05/03 20:15:11 phk Exp $
+ * $Id: fd.c,v 1.90 1996/07/12 07:40:59 bde Exp $
*
*/
@@ -64,7 +64,6 @@
#include <machine/clock.h>
#include <machine/ioctl_fd.h>
#include <sys/disklabel.h>
-#include <sys/diskslice.h>
#include <sys/buf.h>
#include <sys/uio.h>
#include <sys/malloc.h>
@@ -348,16 +347,11 @@ static d_strategy_t fdstrategy;
#define CDEV_MAJOR 9
#define BDEV_MAJOR 2
-extern struct cdevsw fd_cdevsw;
+static struct cdevsw fd_cdevsw;
static struct bdevsw fd_bdevsw =
{ Fdopen, fdclose, fdstrategy, fdioctl, /*2*/
nodump, nopsize, 0, "fd", &fd_cdevsw, -1 };
-static struct cdevsw fd_cdevsw =
- { Fdopen, fdclose, rawread, rawwrite, /*9*/
- fdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, fdstrategy, "fd",
- &fd_bdevsw, -1 };
static struct isa_device *fdcdevs[NFDC];
@@ -1971,13 +1965,9 @@ static fd_devsw_installed = 0;
static void fd_drvinit(void *notused )
{
- dev_t dev;
if( ! fd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&fd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&fd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &fd_bdevsw);
fd_devsw_installed = 1;
}
}
diff --git a/sys/dev/mcd/mcd.c b/sys/dev/mcd/mcd.c
index 3c10a16..c16c004 100644
--- a/sys/dev/mcd/mcd.c
+++ b/sys/dev/mcd/mcd.c
@@ -40,7 +40,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: mcd.c,v 1.80 1996/06/12 05:03:47 gpalmer Exp $
+ * $Id: mcd.c,v 1.81 1996/06/18 01:22:27 bde Exp $
*/
static const char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore";
@@ -220,17 +220,11 @@ static d_strategy_t mcdstrategy;
#define CDEV_MAJOR 29
#define BDEV_MAJOR 7
-extern struct cdevsw mcd_cdevsw;
+static struct cdevsw mcd_cdevsw;
static struct bdevsw mcd_bdevsw =
{ mcdopen, mcdclose, mcdstrategy, mcdioctl, /*7*/
nodump, mcdsize, 0, "mcd", &mcd_cdevsw, -1 };
-static struct cdevsw mcd_cdevsw =
- { mcdopen, mcdclose, rawread, nowrite, /*29*/
- mcdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, mcdstrategy, "mcd",
- &mcd_bdevsw, -1 };
-
#define mcd_put(port,byte) outb(port,byte)
#define MCD_RETRYS 5
@@ -1816,13 +1810,9 @@ static mcd_devsw_installed = 0;
static void mcd_drvinit(void *unused)
{
- dev_t dev;
if( ! mcd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&mcd_cdevsw,NULL);
- dev = makedev(BDEV_MAJOR,0);
- bdevsw_add(&dev,&mcd_bdevsw,NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &mcd_bdevsw);
mcd_devsw_installed = 1;
}
}
diff --git a/sys/dev/scd/scd.c b/sys/dev/scd/scd.c
index df219c7..454cd5b 100644
--- a/sys/dev/scd/scd.c
+++ b/sys/dev/scd/scd.c
@@ -41,7 +41,7 @@
*/
-/* $Id: scd.c,v 1.22 1996/06/18 01:22:30 bde Exp $ */
+/* $Id: scd.c,v 1.23 1996/07/12 04:11:25 bde Exp $ */
/* Please send any comments to micke@dynas.se */
@@ -194,18 +194,11 @@ static d_strategy_t scdstrategy;
#define CDEV_MAJOR 45
#define BDEV_MAJOR 16
-extern struct cdevsw scd_cdevsw;
+static struct cdevsw scd_cdevsw;
static struct bdevsw scd_bdevsw =
{ scdopen, scdclose, scdstrategy, scdioctl, /*16*/
nodump, nopsize, 0, "scd", &scd_cdevsw, -1 };
-static struct cdevsw scd_cdevsw =
- { scdopen, scdclose, rawread, nowrite, /*45*/
- scdioctl, nostop, nullreset, nodevtotty,/* sony cd */
- seltrue, nommap, scdstrategy, "scd",
- &scd_bdevsw, -1 };
-
-
static struct kern_devconf kdc_scd[NSCD] = { {
0, 0, 0, /* filled in by dev_attach */
"scd", 0, { MDDT_ISA, 0, "bio" },
@@ -1550,13 +1543,9 @@ static scd_devsw_installed = 0;
static void scd_drvinit(void *unused)
{
- dev_t dev;
if( ! scd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&scd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&scd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &scd_bdevsw);
scd_devsw_installed = 1;
}
}
diff --git a/sys/dev/vn/vn.c b/sys/dev/vn/vn.c
index a383fd5..652918e 100644
--- a/sys/dev/vn/vn.c
+++ b/sys/dev/vn/vn.c
@@ -38,7 +38,7 @@
* from: Utah Hdr: vn.c 1.13 94/04/02
*
* from: @(#)vn.c 8.6 (Berkeley) 4/1/94
- * $Id$
+ * $Id: vn.c,v 1.36 1996/03/28 15:25:43 bde Exp $
*/
/*
@@ -102,18 +102,11 @@ static d_strategy_t vnstrategy;
#define CDEV_MAJOR 43
#define BDEV_MAJOR 15
-extern struct cdevsw vn_cdevsw;
+static struct cdevsw vn_cdevsw;
static struct bdevsw vn_bdevsw =
{ vnopen, vnclose, vnstrategy, vnioctl, /*15*/
vndump, vnsize, 0, "vn", &vn_cdevsw, -1 };
-static struct cdevsw vn_cdevsw =
- { vnopen, vnclose, rawread, rawwrite, /*43*/
- vnioctl, nostop, nullreset, nodevtotty,/* vn */
- seltrue, nommap, vnstrategy, "vn",
- &vn_bdevsw, -1 };
-
-
#ifdef DEBUG
int dovncluster = 1;
@@ -622,7 +615,6 @@ static vn_devsw_installed = 0;
static void
vn_drvinit(void *unused)
{
- dev_t dev;
#ifdef DEVFS
int mynor;
int unit;
@@ -630,10 +622,7 @@ vn_drvinit(void *unused)
#endif
if( ! vn_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&vn_cdevsw,NULL);
- dev = makedev(BDEV_MAJOR,0);
- bdevsw_add(&dev,&vn_bdevsw,NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &vn_bdevsw);
vn_devsw_installed = 1;
#ifdef DEVFS
for (unit = 0; unit < NVN; unit++) {
diff --git a/sys/geom/geom_ccd.c b/sys/geom/geom_ccd.c
index 3e1c366..662bd8c 100644
--- a/sys/geom/geom_ccd.c
+++ b/sys/geom/geom_ccd.c
@@ -1,4 +1,4 @@
-/* $Id: ccd.c,v 1.13 1996/06/12 04:58:03 gpalmer Exp $ */
+/* $Id: ccd.c,v 1.14 1996/07/21 09:28:03 phk Exp $ */
/* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */
@@ -182,20 +182,13 @@ d_write_t ccdwrite;
#define CDEV_MAJOR 74
#define BDEV_MAJOR 21
-extern struct cdevsw ccd_cdevsw;
+static struct cdevsw ccd_cdevsw;
static struct bdevsw ccd_bdevsw = {
ccdopen, ccdclose, ccdstrategy, ccdioctl,
ccddump, ccdsize, 0,
"ccd", &ccd_cdevsw, -1
};
-static struct cdevsw ccd_cdevsw = {
- ccdopen, ccdclose, rawread, rawwrite,
- ccdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, ccdstrategy,
- "ccd", &ccd_bdevsw, -1
-};
-
/* Called by main() during pseudo-device attachment */
static void ccdattach __P((void *));
PSEUDO_SET(ccdattach, ccd);
@@ -250,7 +243,6 @@ ccdattach(dummy)
{
int i;
int num = NCCD;
- dev_t dev;
if (num > 1)
printf("ccd0-%d: Concatenated disk drivers\n", num-1);
@@ -278,10 +270,7 @@ ccdattach(dummy)
ccddevs[i].ccd_dk = -1;
if( ! ccd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&ccd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&ccd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &ccd_bdevsw);
ccd_devsw_installed = 1;
}
else {
diff --git a/sys/i386/isa/fd.c b/sys/i386/isa/fd.c
index 9f37832..ac20996 100644
--- a/sys/i386/isa/fd.c
+++ b/sys/i386/isa/fd.c
@@ -43,7 +43,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
- * $Id: fd.c,v 1.89 1996/05/03 20:15:11 phk Exp $
+ * $Id: fd.c,v 1.90 1996/07/12 07:40:59 bde Exp $
*
*/
@@ -64,7 +64,6 @@
#include <machine/clock.h>
#include <machine/ioctl_fd.h>
#include <sys/disklabel.h>
-#include <sys/diskslice.h>
#include <sys/buf.h>
#include <sys/uio.h>
#include <sys/malloc.h>
@@ -348,16 +347,11 @@ static d_strategy_t fdstrategy;
#define CDEV_MAJOR 9
#define BDEV_MAJOR 2
-extern struct cdevsw fd_cdevsw;
+static struct cdevsw fd_cdevsw;
static struct bdevsw fd_bdevsw =
{ Fdopen, fdclose, fdstrategy, fdioctl, /*2*/
nodump, nopsize, 0, "fd", &fd_cdevsw, -1 };
-static struct cdevsw fd_cdevsw =
- { Fdopen, fdclose, rawread, rawwrite, /*9*/
- fdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, fdstrategy, "fd",
- &fd_bdevsw, -1 };
static struct isa_device *fdcdevs[NFDC];
@@ -1971,13 +1965,9 @@ static fd_devsw_installed = 0;
static void fd_drvinit(void *notused )
{
- dev_t dev;
if( ! fd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&fd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&fd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &fd_bdevsw);
fd_devsw_installed = 1;
}
}
diff --git a/sys/i386/isa/matcd/matcd.c b/sys/i386/isa/matcd/matcd.c
index 362acda..70c0a12 100644
--- a/sys/i386/isa/matcd/matcd.c
+++ b/sys/i386/isa/matcd/matcd.c
@@ -337,7 +337,7 @@ static char MATCDVERSION[]="Version 1(26) 18-Oct-95";
static char MATCDCOPYRIGHT[] = "Matsushita CD-ROM driver, Copr. 1994,1995 Frank Durda IV";
/* The proceeding strings may not be changed*/
-/* $Id: matcd.c,v 1.17 1996/05/03 16:49:14 phk Exp $ */
+/* $Id: matcd.c,v 1.18 1996/06/08 09:17:51 bde Exp $ */
/*---------------------------------------------------------------------------
Include declarations
@@ -534,20 +534,12 @@ static d_strategy_t matcdstrategy;
#define CDEV_MAJOR 46
#define BDEV_MAJOR 17
-extern struct cdevsw matcd_cdevsw;
+static struct cdevsw matcd_cdevsw;
static struct bdevsw matcd_bdevsw =
{ matcdopen, matcdclose, matcdstrategy, matcdioctl, /*17*/
nodump, matcdsize, 0, "matcd",
&matcd_cdevsw, -1 };
-static struct cdevsw matcd_cdevsw =
- { matcdopen, matcdclose, rawread, nowrite, /*46*/
- matcdioctl, nostop, nullreset, nodevtotty,/* SB cd */
- seltrue, nommap, matcdstrategy, "matcd",
- &matcd_bdevsw, -1};
-
-
-
/*---------------------------------------------------------------------------
Internal function declarations
---------------------------------------------------------------------------*/
@@ -2689,13 +2681,9 @@ static matcd_devsw_installed = 0;
static void
matcd_drvinit(void *unused)
{
- dev_t dev;
if( ! matcd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&matcd_cdevsw,NULL);
- dev = makedev(BDEV_MAJOR,0);
- bdevsw_add(&dev,&matcd_bdevsw,NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &matcd_bdevsw);
matcd_devsw_installed = 1;
}
}
diff --git a/sys/i386/isa/mcd.c b/sys/i386/isa/mcd.c
index 3c10a16..c16c004 100644
--- a/sys/i386/isa/mcd.c
+++ b/sys/i386/isa/mcd.c
@@ -40,7 +40,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: mcd.c,v 1.80 1996/06/12 05:03:47 gpalmer Exp $
+ * $Id: mcd.c,v 1.81 1996/06/18 01:22:27 bde Exp $
*/
static const char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore";
@@ -220,17 +220,11 @@ static d_strategy_t mcdstrategy;
#define CDEV_MAJOR 29
#define BDEV_MAJOR 7
-extern struct cdevsw mcd_cdevsw;
+static struct cdevsw mcd_cdevsw;
static struct bdevsw mcd_bdevsw =
{ mcdopen, mcdclose, mcdstrategy, mcdioctl, /*7*/
nodump, mcdsize, 0, "mcd", &mcd_cdevsw, -1 };
-static struct cdevsw mcd_cdevsw =
- { mcdopen, mcdclose, rawread, nowrite, /*29*/
- mcdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, mcdstrategy, "mcd",
- &mcd_bdevsw, -1 };
-
#define mcd_put(port,byte) outb(port,byte)
#define MCD_RETRYS 5
@@ -1816,13 +1810,9 @@ static mcd_devsw_installed = 0;
static void mcd_drvinit(void *unused)
{
- dev_t dev;
if( ! mcd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&mcd_cdevsw,NULL);
- dev = makedev(BDEV_MAJOR,0);
- bdevsw_add(&dev,&mcd_bdevsw,NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &mcd_bdevsw);
mcd_devsw_installed = 1;
}
}
diff --git a/sys/i386/isa/scd.c b/sys/i386/isa/scd.c
index df219c7..454cd5b 100644
--- a/sys/i386/isa/scd.c
+++ b/sys/i386/isa/scd.c
@@ -41,7 +41,7 @@
*/
-/* $Id: scd.c,v 1.22 1996/06/18 01:22:30 bde Exp $ */
+/* $Id: scd.c,v 1.23 1996/07/12 04:11:25 bde Exp $ */
/* Please send any comments to micke@dynas.se */
@@ -194,18 +194,11 @@ static d_strategy_t scdstrategy;
#define CDEV_MAJOR 45
#define BDEV_MAJOR 16
-extern struct cdevsw scd_cdevsw;
+static struct cdevsw scd_cdevsw;
static struct bdevsw scd_bdevsw =
{ scdopen, scdclose, scdstrategy, scdioctl, /*16*/
nodump, nopsize, 0, "scd", &scd_cdevsw, -1 };
-static struct cdevsw scd_cdevsw =
- { scdopen, scdclose, rawread, nowrite, /*45*/
- scdioctl, nostop, nullreset, nodevtotty,/* sony cd */
- seltrue, nommap, scdstrategy, "scd",
- &scd_bdevsw, -1 };
-
-
static struct kern_devconf kdc_scd[NSCD] = { {
0, 0, 0, /* filled in by dev_attach */
"scd", 0, { MDDT_ISA, 0, "bio" },
@@ -1550,13 +1543,9 @@ static scd_devsw_installed = 0;
static void scd_drvinit(void *unused)
{
- dev_t dev;
if( ! scd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&scd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&scd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &scd_bdevsw);
scd_devsw_installed = 1;
}
}
diff --git a/sys/i386/isa/wcd.c b/sys/i386/isa/wcd.c
index 2723204..ea04098 100644
--- a/sys/i386/isa/wcd.c
+++ b/sys/i386/isa/wcd.c
@@ -47,17 +47,11 @@ static d_strategy_t wcdstrategy;
#define CDEV_MAJOR 69
#define BDEV_MAJOR 19
-extern struct cdevsw wcd_cdevsw;
+static struct cdevsw wcd_cdevsw;
static struct bdevsw wcd_bdevsw =
{ wcdbopen, wcdbclose, wcdstrategy, wcdioctl, /*19*/
nodump, nopsize, 0, "wcd", &wcd_cdevsw, -1 };
-static struct cdevsw wcd_cdevsw =
- { wcdropen, wcdrclose, rawread, nowrite, /*69*/
- wcdioctl, nostop, nullreset, nodevtotty,/* atapi */
- seltrue, nommap, wcdstrategy, "wcd",
- &wcd_bdevsw, -1 };
-
#ifndef ATAPI_STATIC
static
#endif
@@ -1232,13 +1226,9 @@ static wcd_devsw_installed = 0;
static void wcd_drvinit(void *unused)
{
- dev_t dev;
if( ! wcd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&wcd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&wcd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &wcd_bdevsw);
wcd_devsw_installed = 1;
}
}
diff --git a/sys/i386/isa/wd.c b/sys/i386/isa/wd.c
index 958c51e..09ae4f0 100644
--- a/sys/i386/isa/wd.c
+++ b/sys/i386/isa/wd.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)wd.c 7.2 (Berkeley) 5/9/91
- * $Id: wd.c,v 1.110 1996/06/12 05:03:51 gpalmer Exp $
+ * $Id: wd.c,v 1.111 1996/07/21 09:28:50 phk Exp $
*/
/* TODO:
@@ -318,18 +318,11 @@ static d_psize_t wdsize;
#define CDEV_MAJOR 3
#define BDEV_MAJOR 0
-extern struct cdevsw wd_cdevsw;
+static struct cdevsw wd_cdevsw;
static struct bdevsw wd_bdevsw =
{ wdopen, wdclose, wdstrategy, wdioctl, /*0*/
wddump, wdsize, 0, "wd", &wd_cdevsw, -1 };
-static struct cdevsw wd_cdevsw =
- { wdopen, wdclose, rawread, rawwrite, /*3*/
- wdioctl, nostop, nullreset, nodevtotty,/* wd */
- seltrue, nommap, wdstrategy, "wd",
- &wd_bdevsw, -1 };
-
-
/*
* Probe for controller.
*/
@@ -2167,13 +2160,9 @@ static wd_devsw_installed = 0;
static void wd_drvinit(void *unused)
{
- dev_t dev;
if( ! wd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&wd_cdevsw,NULL);
- dev = makedev(BDEV_MAJOR,0);
- bdevsw_add(&dev,&wd_bdevsw,NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &wd_bdevsw);
wd_devsw_installed = 1;
}
}
diff --git a/sys/i386/isa/wt.c b/sys/i386/isa/wt.c
index dc4e6c9..2b4c792 100644
--- a/sys/i386/isa/wt.c
+++ b/sys/i386/isa/wt.c
@@ -20,7 +20,7 @@
* the original CMU copyright notice.
*
* Version 1.3, Thu Nov 11 12:09:13 MSK 1993
- * $Id: wt.c,v 1.31 1996/03/28 14:28:55 scrappy Exp $
+ * $Id: wt.c,v 1.32 1996/04/08 19:40:57 smpatel Exp $
*
*/
@@ -208,18 +208,11 @@ static d_strategy_t wtstrategy;
#define CDEV_MAJOR 10
#define BDEV_MAJOR 3
-extern struct cdevsw wt_cdevsw;
+static struct cdevsw wt_cdevsw;
static struct bdevsw wt_bdevsw =
{ wtopen, wtclose, wtstrategy, wtioctl, /*3*/
wtdump, wtsize, B_TAPE, "wt", &wt_cdevsw, -1 };
-static struct cdevsw wt_cdevsw =
- { wtopen, wtclose, rawread, rawwrite, /*10*/
- wtioctl, nostop, nullreset, nodevtotty,/* wt */
- seltrue, nommap, wtstrategy, "wt",
- &wt_bdevsw, -1 };
-
-
static inline void
wt_registerdev(struct isa_device *id)
{
@@ -1017,13 +1010,9 @@ static wt_devsw_installed = 0;
static void
wt_drvinit(void *unused)
{
- dev_t dev;
if( ! wt_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&wt_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&wt_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &wt_bdevsw);
wt_devsw_installed = 1;
}
}
diff --git a/sys/isa/fd.c b/sys/isa/fd.c
index 9f37832..ac20996 100644
--- a/sys/isa/fd.c
+++ b/sys/isa/fd.c
@@ -43,7 +43,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
- * $Id: fd.c,v 1.89 1996/05/03 20:15:11 phk Exp $
+ * $Id: fd.c,v 1.90 1996/07/12 07:40:59 bde Exp $
*
*/
@@ -64,7 +64,6 @@
#include <machine/clock.h>
#include <machine/ioctl_fd.h>
#include <sys/disklabel.h>
-#include <sys/diskslice.h>
#include <sys/buf.h>
#include <sys/uio.h>
#include <sys/malloc.h>
@@ -348,16 +347,11 @@ static d_strategy_t fdstrategy;
#define CDEV_MAJOR 9
#define BDEV_MAJOR 2
-extern struct cdevsw fd_cdevsw;
+static struct cdevsw fd_cdevsw;
static struct bdevsw fd_bdevsw =
{ Fdopen, fdclose, fdstrategy, fdioctl, /*2*/
nodump, nopsize, 0, "fd", &fd_cdevsw, -1 };
-static struct cdevsw fd_cdevsw =
- { Fdopen, fdclose, rawread, rawwrite, /*9*/
- fdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, fdstrategy, "fd",
- &fd_bdevsw, -1 };
static struct isa_device *fdcdevs[NFDC];
@@ -1971,13 +1965,9 @@ static fd_devsw_installed = 0;
static void fd_drvinit(void *notused )
{
- dev_t dev;
if( ! fd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&fd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&fd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &fd_bdevsw);
fd_devsw_installed = 1;
}
}
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index 2f6dad1..b403dbf 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: kern_conf.c,v 1.8 1995/12/21 20:09:39 julian Exp $
+ * $Id: kern_conf.c,v 1.9 1995/12/22 15:56:33 phk Exp $
*/
#include <sys/param.h>
@@ -157,3 +157,37 @@ int TTYPE##_add(dev_t *descrip, \
ADDENTRY(bdevsw, nblkdev)
ADDENTRY(cdevsw, nchrdev)
+
+void
+cdevsw_make(struct bdevsw *from)
+{
+ struct cdevsw *to = from->d_cdev;
+
+ if (!to)
+ panic("No target cdevsw in bdevsw");
+ to->d_open = from->d_open;
+ to->d_close = from->d_close;
+ to->d_read = rawread;
+ to->d_write = rawwrite;
+ to->d_ioctl = from->d_ioctl;
+ to->d_stop = nostop;
+ to->d_reset = nullreset;
+ to->d_devtotty = nodevtotty;
+ to->d_select = seltrue;
+ to->d_mmap = nommap;
+ to->d_strategy = from->d_strategy;
+ to->d_name = from->d_name;
+ to->d_bdev = from;
+ to->d_maj = -1;
+}
+
+void
+bdevsw_add_generic(int bdev, int cdev, struct bdevsw *bdevsw)
+{
+ dev_t dev;
+ cdevsw_make(bdevsw);
+ dev = makedev(cdev, 0);
+ cdevsw_add(&dev, bdevsw->d_cdev, NULL);
+ dev = makedev(bdev, 0);
+ bdevsw_add(&dev, bdevsw , NULL);
+}
diff --git a/sys/scsi/cd.c b/sys/scsi/cd.c
index 1e2c56f..7a71341 100644
--- a/sys/scsi/cd.c
+++ b/sys/scsi/cd.c
@@ -14,7 +14,7 @@
*
* Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
*
- * $Id: cd.c,v 1.70 1996/06/12 05:10:51 gpalmer Exp $
+ * $Id: cd.c,v 1.71 1996/07/14 10:46:46 joerg Exp $
*/
#include "opt_bounce.h"
@@ -73,17 +73,11 @@ static d_strategy_t cdstrategy;
#define CDEV_MAJOR 15
#define BDEV_MAJOR 6
-extern struct cdevsw cd_cdevsw;
+static struct cdevsw cd_cdevsw;
static struct bdevsw cd_bdevsw =
{ cdopen, cdclose, cdstrategy, cdioctl, /*6*/
nodump, nopsize, 0, "cd", &cd_cdevsw, -1 };
-static struct cdevsw cd_cdevsw =
- { cdopen, cdclose, rawread, nowrite, /*15*/
- cdioctl, nostop, nullreset, nodevtotty,/* cd */
- seltrue, nommap, cdstrategy, "cd",
- &cd_bdevsw, -1 };
-
static int32_t cdstrats, cdqueues;
@@ -1417,13 +1411,9 @@ static cd_devsw_installed = 0;
static void cd_drvinit(void *unused)
{
- dev_t dev;
if( ! cd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&cd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&cd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &cd_bdevsw);
cd_devsw_installed = 1;
}
}
diff --git a/sys/scsi/od.c b/sys/scsi/od.c
index 610fe9a..643357f 100644
--- a/sys/scsi/od.c
+++ b/sys/scsi/od.c
@@ -28,7 +28,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: od.c,v 1.15.1.3 1996/05/06 15:14:57 shun Exp $
+ * $Id: od.c,v 1.18 1996/06/16 19:58:24 joerg Exp $
*/
/*
@@ -150,16 +150,11 @@ static d_strategy_t odstrategy;
#define CDEV_MAJOR 70
#define BDEV_MAJOR 20
-extern struct cdevsw od_cdevsw;
+static struct cdevsw od_cdevsw;
static struct bdevsw od_bdevsw =
{ odopen, odclose, odstrategy, odioctl, /*20*/
nodump, nopsize, 0, "od", &od_cdevsw, -1 };
-static struct cdevsw od_cdevsw =
- { odopen, odclose, rawread, rawwrite, /*70*/
- odioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, odstrategy, "od",
- &od_bdevsw, -1 };
/*
* Actually include the interface routines
@@ -983,13 +978,9 @@ static od_devsw_installed = 0;
static void od_drvinit(void *unused)
{
- dev_t dev;
if( ! od_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&od_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&od_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &od_bdevsw);
od_devsw_installed = 1;
}
}
diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c
index a78e727..edbce2c 100644
--- a/sys/scsi/sd.c
+++ b/sys/scsi/sd.c
@@ -14,7 +14,7 @@
*
* Ported to run under 386BSD by Julian Elischer (julian@dialix.oz.au) Sept 1992
*
- * $Id: sd.c,v 1.89 1996/05/02 22:20:52 phk Exp $
+ * $Id: sd.c,v 1.90 1996/06/14 11:02:20 asami Exp $
*/
#include "opt_bounce.h"
@@ -115,16 +115,11 @@ static d_strategy_t sdstrategy;
#define CDEV_MAJOR 13
#define BDEV_MAJOR 4
-extern struct cdevsw sd_cdevsw; /* hold off the complaints for a second */
+static struct cdevsw sd_cdevsw;
static struct bdevsw sd_bdevsw =
{ sdopen, sdclose, sdstrategy, sdioctl, /*4*/
sddump, sdsize, 0, "sd", &sd_cdevsw, -1 };
-static struct cdevsw sd_cdevsw =
- { sdopen, sdclose, rawread, rawwrite, /*13*/
- sdioctl, nostop, nullreset, nodevtotty,
- seltrue, nommap, sdstrategy, "sd",
- &sd_bdevsw, -1 };
SCSI_DEVICE_ENTRIES(sd)
@@ -1055,13 +1050,9 @@ static sd_devsw_installed = 0;
static void sd_drvinit(void *unused)
{
- dev_t dev;
if( ! sd_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&sd_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&sd_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &sd_bdevsw);
sd_devsw_installed = 1;
}
}
diff --git a/sys/scsi/st.c b/sys/scsi/st.c
index 2bcc733..d7fe9a9 100644
--- a/sys/scsi/st.c
+++ b/sys/scsi/st.c
@@ -12,7 +12,7 @@
* on the understanding that TFS is not responsible for the correct
* functioning of this software in any circumstances.
*
- * $Id: st.c,v 1.70 1996/06/24 04:54:32 gibbs Exp $
+ * $Id: st.c,v 1.71 1996/07/14 10:46:54 joerg Exp $
*/
/*
@@ -163,17 +163,11 @@ static d_strategy_t ststrategy;
#define CDEV_MAJOR 14
#define BDEV_MAJOR 5
-extern struct cdevsw st_cdevsw; /* hold off the complaints for a second */
+static struct cdevsw st_cdevsw;
static struct bdevsw st_bdevsw =
{ stopen, stclose, ststrategy, stioctl, /*5*/
nodump, nopsize, 0, "st", &st_cdevsw, -1 };
-static struct cdevsw st_cdevsw =
- { stopen, stclose, rawread, rawwrite, /*14*/
- stioctl, nostop, nullreset, nodevtotty,/* st */
- seltrue, nommap, ststrategy, "st",
- &st_bdevsw, -1 };
-
SCSI_DEVICE_ENTRIES(st)
static struct scsi_device st_switch =
@@ -1987,13 +1981,9 @@ static st_devsw_installed = 0;
static void
st_drvinit(void *unused)
{
- dev_t dev;
if( ! st_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&st_cdevsw, NULL);
- dev = makedev(BDEV_MAJOR, 0);
- bdevsw_add(&dev,&st_bdevsw, NULL);
+ bdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &st_bdevsw);
st_devsw_installed = 1;
}
}
diff --git a/sys/sys/conf.h b/sys/sys/conf.h
index 1b6638b..4a50431 100644
--- a/sys/sys/conf.h
+++ b/sys/sys/conf.h
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)conf.h 8.5 (Berkeley) 1/9/95
- * $Id: conf.h,v 1.31 1996/02/29 00:07:09 hsu Exp $
+ * $Id: conf.h,v 1.30 1996/03/11 02:13:32 hsu Exp $
*/
#ifndef _SYS_CONF_H_
@@ -214,6 +214,8 @@ l_write_t l_nowrite;
int bdevsw_add __P((dev_t *descrip,struct bdevsw *new,struct bdevsw **old));
int cdevsw_add __P((dev_t *descrip,struct cdevsw *new,struct cdevsw **old));
+void cdevsw_make __P((struct bdevsw *from));
+void bdevsw_add_generic __P((int bdev, int cdev, struct bdevsw *bdevsw));
dev_t chrtoblk __P((dev_t dev));
int isdisk __P((dev_t dev, int type));
int iskmemdev __P((dev_t dev));
diff --git a/sys/sys/linedisc.h b/sys/sys/linedisc.h
index 1b6638b..4a50431 100644
--- a/sys/sys/linedisc.h
+++ b/sys/sys/linedisc.h
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)conf.h 8.5 (Berkeley) 1/9/95
- * $Id: conf.h,v 1.31 1996/02/29 00:07:09 hsu Exp $
+ * $Id: conf.h,v 1.30 1996/03/11 02:13:32 hsu Exp $
*/
#ifndef _SYS_CONF_H_
@@ -214,6 +214,8 @@ l_write_t l_nowrite;
int bdevsw_add __P((dev_t *descrip,struct bdevsw *new,struct bdevsw **old));
int cdevsw_add __P((dev_t *descrip,struct cdevsw *new,struct cdevsw **old));
+void cdevsw_make __P((struct bdevsw *from));
+void bdevsw_add_generic __P((int bdev, int cdev, struct bdevsw *bdevsw));
dev_t chrtoblk __P((dev_t dev));
int isdisk __P((dev_t dev, int type));
int iskmemdev __P((dev_t dev));
OpenPOWER on IntegriCloud