diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/cy/cy.c | 38 | ||||
-rw-r--r-- | sys/dev/cy/cy_isa.c | 38 | ||||
-rw-r--r-- | sys/dev/dgb/dgb.c | 41 | ||||
-rw-r--r-- | sys/dev/joy/joy.c | 37 | ||||
-rw-r--r-- | sys/dev/mcd/mcd.c | 45 | ||||
-rw-r--r-- | sys/dev/mse/mse.c | 38 | ||||
-rw-r--r-- | sys/dev/rc/rc.c | 37 | ||||
-rw-r--r-- | sys/dev/scd/scd.c | 45 | ||||
-rw-r--r-- | sys/dev/si/si.c | 39 | ||||
-rw-r--r-- | sys/dev/sio/sio.c | 37 | ||||
-rw-r--r-- | sys/dev/snp/snp.c | 39 | ||||
-rw-r--r-- | sys/dev/speaker/spkr.c | 48 | ||||
-rw-r--r-- | sys/dev/vn/vn.c | 52 |
13 files changed, 379 insertions, 155 deletions
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c index c2f3725..c4739ae 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.19 1995/11/26 17:13:23 bde Exp $ + * $Id: cy.c,v 1.20 1995/11/28 09:40:56 julian Exp $ */ #include "cy.h" @@ -398,8 +398,10 @@ static int cy_nr_cd1400s[NCY]; static int volatile RxFifoThreshold = (CD1400_RX_FIFO_SIZE / 2); #ifdef JREMOD +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 48 -static void cy_devsw_install(); #endif /*JREMOD*/ static struct kern_devconf kdc_sio[NCY] = { { @@ -442,9 +444,6 @@ sioprobe(dev) return (0); cy_nr_cd1400s[unit] = 0; sioregisterdev(dev); -#ifdef JREMOD - cy_devsw_install(); -#endif /*JREMOD*/ /* Cyclom-16Y hardware reset (Cyclom-8Ys don't care) */ @@ -2521,6 +2520,7 @@ cystatus(unit) #endif /* CyDebug */ + #ifdef JREMOD struct cdevsw cy_cdevsw = { cyopen, cyclose, cyread, cywrite, /*48*/ @@ -2529,18 +2529,28 @@ struct cdevsw cy_cdevsw = static cy_devsw_installed = 0; -static void cy_devsw_install() +static void cy_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! cy_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&cy_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&cy_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&cy_cdevsw,NULL); cy_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "cy", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(cydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,cy_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NCY > 0 */ diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c index c2f3725..c4739ae 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.19 1995/11/26 17:13:23 bde Exp $ + * $Id: cy.c,v 1.20 1995/11/28 09:40:56 julian Exp $ */ #include "cy.h" @@ -398,8 +398,10 @@ static int cy_nr_cd1400s[NCY]; static int volatile RxFifoThreshold = (CD1400_RX_FIFO_SIZE / 2); #ifdef JREMOD +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 48 -static void cy_devsw_install(); #endif /*JREMOD*/ static struct kern_devconf kdc_sio[NCY] = { { @@ -442,9 +444,6 @@ sioprobe(dev) return (0); cy_nr_cd1400s[unit] = 0; sioregisterdev(dev); -#ifdef JREMOD - cy_devsw_install(); -#endif /*JREMOD*/ /* Cyclom-16Y hardware reset (Cyclom-8Ys don't care) */ @@ -2521,6 +2520,7 @@ cystatus(unit) #endif /* CyDebug */ + #ifdef JREMOD struct cdevsw cy_cdevsw = { cyopen, cyclose, cyread, cywrite, /*48*/ @@ -2529,18 +2529,28 @@ struct cdevsw cy_cdevsw = static cy_devsw_installed = 0; -static void cy_devsw_install() +static void cy_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! cy_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&cy_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&cy_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&cy_cdevsw,NULL); cy_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "cy", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(cydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,cy_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NCY > 0 */ diff --git a/sys/dev/dgb/dgb.c b/sys/dev/dgb/dgb.c index 1e61971..11a868a 100644 --- a/sys/dev/dgb/dgb.c +++ b/sys/dev/dgb/dgb.c @@ -1,5 +1,5 @@ /*- - * dgb.c $Id: dgb.c,v 1.4 1995/10/12 23:28:31 bde Exp $ + * dgb.c $Id: dgb.c,v 1.5 1995/11/04 13:22:59 bde Exp $ * * Digiboard driver. * @@ -51,6 +51,13 @@ #include <gnu/i386/isa/dgfep.h> #include <gnu/i386/isa/dgreg.h> +#ifdef JREMOD +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ +#define CDEV_MAJOR 58 +#endif /*JREMOD*/ + #define CALLOUT_MASK 0x80 #define CONTROL_MASK 0x60 #define CONTROL_INIT_STATE 0x20 @@ -1979,4 +1986,36 @@ fepcmd(port, cmd, op1, op2, ncmds, bytecmd) port->unit, port->pnum); } +#ifdef JREMOD +struct cdevsw dgb_cdevsw = + { dgbopen, dgbclose, dgbread, dgbwrite, /*58*/ + dgbioctl, dgbstop, nxreset, dgbdevtotty, /* dgb */ + ttselect, nommap, NULL }; + +static dgb_devsw_installed = 0; + +static void dgb_drvinit(void *unused) +{ + dev_t dev; + + if( ! dgb_devsw_installed ) { + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&dgb_cdevsw,NULL); + dgb_devsw_installed = 1; +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name major minor type uid gid perm*/ + "/", "dgb", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif +} + +SYSINIT(dgbdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,dgb_drvinit,NULL) + +#endif /* JREMOD */ + #endif /* NDGB > 0 */ diff --git a/sys/dev/joy/joy.c b/sys/dev/joy/joy.c index 5870e62..e90e90f 100644 --- a/sys/dev/joy/joy.c +++ b/sys/dev/joy/joy.c @@ -43,8 +43,11 @@ #ifdef JREMOD #include <sys/conf.h> +#include <sys/kernel.h> +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 51 -static void joy_devsw_install(); #endif /*JREMOD*/ /* The game port can manage 4 buttons and 4 variable resistors (usually 2 @@ -105,10 +108,6 @@ joyattach (struct isa_device *dev) joy[dev->id_unit].timeout[0] = joy[dev->id_unit].timeout[1] = 0; printf("joy%d: joystick\n", dev->id_unit); -#ifdef JREMOD - joy_devsw_install(); -#endif /*JREMOD*/ - return 1; } @@ -224,18 +223,28 @@ struct cdevsw joy_cdevsw = static joy_devsw_installed = 0; -static void joy_devsw_install() +static void joy_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! joy_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&joy_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&joy_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&joy_cdevsw,NULL); joy_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "joy", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(joydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,joy_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NJOY > 0 */ diff --git a/sys/dev/mcd/mcd.c b/sys/dev/mcd/mcd.c index 0571a93..4ab0b9c 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.48 1995/11/04 13:23:35 bde Exp $ + * $Id: mcd.c,v 1.49 1995/11/28 09:41:22 julian Exp $ */ static char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; @@ -71,9 +71,13 @@ static char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; #include <i386/isa/mcdreg.h> #ifdef JREMOD +#include <sys/conf.h> +#include <sys/kernel.h> +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 29 #define BDEV_MAJOR 7 -static void mcd_devsw_install(); #endif /*JREMOD */ #define MCD_TRACE(format, args...) \ @@ -262,10 +266,6 @@ int mcd_attach(struct isa_device *dev) kdc_mcd[dev->id_unit].kdc_state = DC_IDLE; /* name filled in probe */ kdc_mcd[dev->id_unit].kdc_description = mcd_data[dev->id_unit].name; -#ifdef JREMOD - mcd_devsw_install(); -#endif /*JREMOD*/ - return 1; } @@ -1682,18 +1682,33 @@ struct cdevsw mcd_cdevsw = static mcd_devsw_installed = 0; -static void mcd_devsw_install() +static void mcd_drvinit(void *unused) { - dev_t descript; + dev_t dev; + dev_t dev_chr; + if( ! mcd_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&mcd_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&mcd_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&mcd_cdevsw,NULL); + dev_chr = dev; + dev = makedev(BDEV_MAJOR,0); + bdevsw_add(&dev,&mcd_bdevsw,NULL); mcd_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ +/* path name devsw minor type uid gid perm*/ + "/", "rmcd", major(dev_chr), 0, DV_CHR, 0, 0, 0600); + x=devfs_add_devsw( + "/", "mcd", major(dev), 0, DV_BLK, 0, 0, 0600); + } + } +#endif } + +SYSINIT(mcddev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,mcd_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NMCD > 0 */ diff --git a/sys/dev/mse/mse.c b/sys/dev/mse/mse.c index 5499a2a..52195fb 100644 --- a/sys/dev/mse/mse.c +++ b/sys/dev/mse/mse.c @@ -11,7 +11,7 @@ * this software for any purpose. It is provided "as is" * without express or implied warranty. * - * $Id: mse.c,v 1.15 1995/11/04 17:07:37 bde Exp $ + * $Id: mse.c,v 1.16 1995/11/28 09:41:25 julian Exp $ */ /* * Driver for the Logitech and ATI Inport Bus mice for use with 386bsd and @@ -63,8 +63,11 @@ #ifdef JREMOD #include <sys/conf.h> +#include <sys/kernel.h> +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 27 -static void mse_devsw_install(); #endif /*JREMOD*/ static int mseprobe(struct isa_device *); @@ -239,9 +242,6 @@ mseattach(idp) sc->sc_port = idp->id_iobase; kdc_mse[idp->id_unit].kdc_state = DC_IDLE; -#ifdef JREMOD - mse_devsw_install(); -#endif /*JREMOD*/ return (1); } @@ -583,18 +583,28 @@ struct cdevsw mse_cdevsw = static mse_devsw_installed = 0; -static void mse_devsw_install() +static void mse_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! mse_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&mse_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&mse_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&mse_cdevsw,NULL); mse_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "mse", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(msedev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,mse_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NMSE */ diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c index 6203aff..e1d80cb 100644 --- a/sys/dev/rc/rc.c +++ b/sys/dev/rc/rc.c @@ -60,8 +60,11 @@ #ifdef JREMOD #include <sys/conf.h> +#include <sys/kernel.h> +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 63 -static void rc_devsw_install(); #endif /*JREMOD*/ /* Prototypes */ @@ -283,10 +286,6 @@ int rcattach(dvp) rc_wakeup((void *)NULL); rc_wakeup_started = 0; } -#ifdef JREMOD - rc_devsw_install(); -#endif /*JREMOD*/ - return 1; } @@ -1511,18 +1510,28 @@ struct cdevsw rc_cdevsw = static rc_devsw_installed = 0; -static void rc_devsw_install() +static void rc_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! rc_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&rc_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&rc_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&rc_cdevsw,NULL); rc_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "rc", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(rcdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,rc_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NRC */ diff --git a/sys/dev/scd/scd.c b/sys/dev/scd/scd.c index 7d4fdec..0e2a130 100644 --- a/sys/dev/scd/scd.c +++ b/sys/dev/scd/scd.c @@ -41,7 +41,7 @@ */ -/* $Id: scd.c,v 1.9 1995/11/04 13:23:39 bde Exp $ */ +/* $Id: scd.c,v 1.10 1995/11/28 09:41:36 julian Exp $ */ /* Please send any comments to micke@dynas.se */ @@ -73,9 +73,12 @@ #include <i386/isa/scdreg.h> #ifdef JREMOD +#include <sys/kernel.h> +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 45 #define BDEV_MAJOR 16 -static void scd_devsw_install(); #endif /*JREMOD */ #define scd_part(dev) ((minor(dev)) & 7) @@ -224,10 +227,6 @@ int scd_attach(struct isa_device *dev) cd->flags = SCDINIT; cd->audio_status = CD_AS_AUDIO_INVALID; -#ifdef JREMOD - scd_devsw_install(); -#endif /*JREMOD*/ - return 1; } @@ -1529,6 +1528,7 @@ scd_toc_entrys (int unit, struct ioc_read_toc_entry *te) return 0; } + #ifdef JREMOD struct bdevsw scd_bdevsw = { scdopen, scdclose, scdstrategy, scdioctl, /*16*/ @@ -1541,19 +1541,34 @@ struct cdevsw scd_cdevsw = static scd_devsw_installed = 0; -static void scd_devsw_install() +static void scd_drvinit(void *unused) { - dev_t descript; + dev_t dev; + dev_t dev_chr; + if( ! scd_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&scd_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&scd_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&scd_cdevsw,NULL); + dev_chr = dev; + dev = makedev(BDEV_MAJOR,0); + bdevsw_add(&dev,&scd_bdevsw,NULL); scd_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "rscd", major(dev_chr), 0, DV_CHR, 0, 0, 0600); + x=devfs_add_devsw( + "/", "scd", major(dev), 0, DV_BLK, 0, 0, 0600); + } + } +#endif } + +SYSINIT(scddev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,scd_drvinit,NULL) + #endif /* JREMOD */ #endif /* NSCD > 0 */ diff --git a/sys/dev/si/si.c b/sys/dev/si/si.c index 93accc2..7b58916 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.16 1995/11/28 07:29:29 bde Exp $ + * $Id: si.c,v 1.17 1995/11/28 09:41:39 julian Exp $ */ #ifndef lint @@ -82,8 +82,10 @@ static char si_copyright1[] = "@(#) (C) Specialix International, 1990,1992", enum si_mctl { GET, SET, BIS, BIC }; #ifdef JREMOD +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 68 -static void si_devsw_install(); #endif /*JREMOD*/ @@ -657,9 +659,6 @@ mem_fail: } done_chartimes = 1; } -#ifdef JREMOD - si_devsw_install(); -#endif /*JREMOD*/ return (1); } @@ -2309,18 +2308,34 @@ struct cdevsw si_cdevsw = static si_devsw_installed = 0; -static void si_devsw_install() +static void si_drvinit(void *unused) { - dev_t descript; + dev_t dev; + dev_t dev_chr; + if( ! si_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&si_cdevsw,NULL); + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&si_cdevsw,NULL); + dev_chr = dev; #if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&si_bdevsw,NULL); + dev = makedev(BDEV_MAJOR,0); + bdevsw_add(&dev,&si_bdevsw,NULL); #endif /*BDEV_MAJOR*/ si_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "si", major(dev_chr), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(sidev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,si_drvinit,NULL) + #endif /* JREMOD */ + #endif diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index b8aa9e2..7cabae4 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.119 1995/11/21 09:15:04 bde Exp $ + * $Id: sio.c,v 1.120 1995/11/28 09:41:47 julian Exp $ */ #include "sio.h" @@ -97,8 +97,10 @@ #define com_scr 7 /* scratch register for 16450-16550 (R/W) */ #ifdef JREMOD +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ #define CDEV_MAJOR 28 -static void sio_devsw_install(); #endif /*JREMOD*/ @@ -883,9 +885,6 @@ determined_type: ; s = spltty(); com_addr(unit) = com; splx(s); -#ifdef JREMOD - sio_devsw_install(); -#endif /*JREMOD*/ return (1); } @@ -2574,18 +2573,28 @@ struct cdevsw sio_cdevsw = static sio_devsw_installed = 0; -static void sio_devsw_install() +static void sio_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! sio_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&sio_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&sio_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&sio_cdevsw,NULL); sio_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "sio", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(siodev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,sio_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NSIO > 0 */ diff --git a/sys/dev/snp/snp.c b/sys/dev/snp/snp.c index 77c1596..c89c975 100644 --- a/sys/dev/snp/snp.c +++ b/sys/dev/snp/snp.c @@ -33,6 +33,13 @@ #include <sys/snoop.h> +#ifdef JREMOD +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ +#define CDEV_MAJOR 53 +#endif /*JREMOD*/ + #ifndef MIN #define MIN(a,b) (((a)<(b))?(a):(b)) #endif @@ -491,4 +498,36 @@ snpselect(dev, rw, p) return 0; } +#ifdef JREMOD +struct cdevsw snp_cdevsw = + { snpopen, snpclose, snpread, snpwrite, /*53*/ + snpioctl, nostop, nullreset, nodevtotty,/* snoop */ + snpselect, nommap, NULL }; + +static snp_devsw_installed = 0; + +static void snp_drvinit(void *unused) +{ + dev_t dev; + + if( ! snp_devsw_installed ) { + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&snp_cdevsw,NULL); + snp_devsw_installed = 1; +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "snp", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif +} + +SYSINIT(snpdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,snp_drvinit,NULL) + +#endif /* JREMOD */ + #endif diff --git a/sys/dev/speaker/spkr.c b/sys/dev/speaker/spkr.c index 050ba18..620ec9f 100644 --- a/sys/dev/speaker/spkr.c +++ b/sys/dev/speaker/spkr.c @@ -4,7 +4,7 @@ * v1.4 by Eric S. Raymond (esr@snark.thyrsus.com) Aug 1993 * modified for FreeBSD by Andrew A. Chernov <ache@astral.msk.su> * - * $Id: spkr.c,v 1.17 1995/09/09 18:09:55 davidg Exp $ + * $Id: spkr.c,v 1.18 1995/11/28 09:41:55 julian Exp $ */ #include "speaker.h" @@ -26,31 +26,13 @@ #ifdef JREMOD #include <sys/conf.h> #define CDEV_MAJOR 26 -static void spkr_devsw_install(); #endif /*JREMOD*/ -#if defined(DEVFS) || defined(JREMOD) -#include "sys/kernel.h" #ifdef DEVFS #include <sys/devfsext.h> -int spkropen(); #endif -void spkrdev_init(void *data) /* data not used */ -{ - void * x; -#ifdef JREMOD - spkr_devsw_install(); -#endif /*JREMOD*/ -#ifdef DEVFS -/* path name devsw minor type uid gid perm*/ - x=dev_add("/misc", "speaker", spkropen, 0, DV_CHR, 0, 0, 0600); -#endif - -} -SYSINIT(spkrdev,SI_SUB_DEVFS, SI_ORDER_ANY, spkrdev_init, NULL) -#endif /*DEVFS*/ /* JREMOD */ /**************** MACHINE DEPENDENT PART STARTS HERE ************************* * @@ -595,19 +577,29 @@ struct cdevsw spkr_cdevsw = static spkr_devsw_installed = 0; -static void spkr_devsw_install() +static void spkr_drvinit(void *unused) { - dev_t descript; + dev_t dev; + if( ! spkr_devsw_installed ) { - descript = makedev(CDEV_MAJOR,0); - cdevsw_add(&descript,&spkr_cdevsw,NULL); -#if defined(BDEV_MAJOR) - descript = makedev(BDEV_MAJOR,0); - bdevsw_add(&descript,&spkr_bdevsw,NULL); -#endif /*BDEV_MAJOR*/ + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&spkr_cdevsw,NULL); spkr_devsw_installed = 1; - } +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name devsw minor type uid gid perm*/ + "/", "spkr", major(dev), 0, DV_CHR, 0, 0, 0600); + } + } +#endif } + +SYSINIT(spkrdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,spkr_drvinit,NULL) + #endif /* JREMOD */ + #endif /* NSPEAKER > 0 */ /* spkr.c ends here */ diff --git a/sys/dev/vn/vn.c b/sys/dev/vn/vn.c index 50cce3b..1062d4c 100644 --- a/sys/dev/vn/vn.c +++ b/sys/dev/vn/vn.c @@ -88,6 +88,16 @@ #include <sys/vnioctl.h> +#ifdef JREMOD +#include <sys/conf.h> +#ifdef DEVFS +#include <sys/devfsext.h> +#endif /*DEVFS*/ +#define CDEV_MAJOR 43 +#define BDEV_MAJOR 15 +#endif /*JREMOD */ + + #ifdef DEBUG int dovncluster = 1; int vndebug = 0x00; @@ -586,4 +596,46 @@ vndump(dev_t dev) { return (ENODEV); } +#ifdef JREMOD +struct bdevsw vn_bdevsw = + { vnopen, vnclose, vnstrategy, vnioctl, /*15*/ + vndump, vnsize, 0 }; + +struct cdevsw vn_cdevsw = + { vnopen, vnclose, rawread, rawwrite, /*43*/ + vnioctl, nostop, nullreset, nodevtotty,/* vn */ + seltrue, nommap, vnstrategy }; + +static vn_devsw_installed = 0; + +static void vn_drvinit(void *unused) +{ + dev_t dev; + dev_t dev_chr; + + if( ! vn_devsw_installed ) { + dev = makedev(CDEV_MAJOR,0); + cdevsw_add(&dev,&vn_cdevsw,NULL); + dev_chr = dev; + dev = makedev(BDEV_MAJOR,0); + bdevsw_add(&dev,&vn_bdevsw,NULL); + vn_devsw_installed = 1; +#ifdef DEVFS + { + int x; +/* default for a simple device with no probe routine (usually delete this) */ + x=devfs_add_devsw( +/* path name major minor type uid gid perm*/ + "/", "rvn", major(dev_chr), 0, DV_CHR, 0, 0, 0600); + x=devfs_add_devsw( + "/", "vn", major(dev), 0, DV_BLK, 0, 0, 0600); + } + } +#endif +} + +SYSINIT(vndev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,vn_drvinit,NULL) + +#endif /* JREMOD */ + #endif |