summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-05-31 11:29:30 +0000
committerphk <phk@FreeBSD.org>1999-05-31 11:29:30 +0000
commit6a5dc97620c08ad609e1b3c3c042f150feb46dd3 (patch)
tree6cfc9338ae83f67fd38a853cd0782713c73cad13 /sys/dev
parent881e2636833297a207a791fabd8befc818b1b3fb (diff)
downloadFreeBSD-src-6a5dc97620c08ad609e1b3c3c042f150feb46dd3.zip
FreeBSD-src-6a5dc97620c08ad609e1b3c3c042f150feb46dd3.tar.gz
Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the struct cdevsw passed to it. cdevsw_add_generic() is no longer needed, cdevsw_add() does the same thing. cdevsw_add() will print an message if the d_maj field looks bogus. Remove nblkdev and nchrdev variables. Most places they were used bogusly. Instead check a dev_t for validity by seeing if devsw() or bdevsw() returns NULL. Move bdevsw() and devsw() functions to kern/kern_conf.c Bump __FreeBSD_version to 400006 This commit removes: 72 bogus makedev() calls 26 bogus SYSINIT functions if_xe.c bogusly accessed cdevsw[], author/maintainer please fix. I4b and vinum not changed. Patches emailed to authors. LINT probably broken until they catch up.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ata/ata-disk.c10
-rw-r--r--sys/dev/ata/atapi-cd.c4
-rw-r--r--sys/dev/ata/atapi-fd.c4
-rw-r--r--sys/dev/ata/atapi-tape.c6
-rw-r--r--sys/dev/bktr/bktr_core.c29
-rw-r--r--sys/dev/cy/cy.c6
-rw-r--r--sys/dev/cy/cy_isa.c6
-rw-r--r--sys/dev/dgb/dgb.c22
-rw-r--r--sys/dev/dgb/dgm.c23
-rw-r--r--sys/dev/dpt/dpt_control.c9
-rw-r--r--sys/dev/fb/fb.c6
-rw-r--r--sys/dev/iicbus/iic.c22
-rw-r--r--sys/dev/joy/joy.c20
-rw-r--r--sys/dev/kbd/kbd.c6
-rw-r--r--sys/dev/mcd/mcd.c21
-rw-r--r--sys/dev/mse/mse.c21
-rw-r--r--sys/dev/pccard/if_xe.c8
-rw-r--r--sys/dev/pci/pci.c7
-rw-r--r--sys/dev/ppbus/lpt.c22
-rw-r--r--sys/dev/ppbus/ppi.c21
-rw-r--r--sys/dev/ppbus/pps.c9
-rw-r--r--sys/dev/rc/rc.c20
-rw-r--r--sys/dev/rp/rp.c10
-rw-r--r--sys/dev/scd/scd.c21
-rw-r--r--sys/dev/si/si.c9
-rw-r--r--sys/dev/smbus/smb.c22
-rw-r--r--sys/dev/snp/snp.c8
-rw-r--r--sys/dev/speaker/spkr.c18
-rw-r--r--sys/dev/streams/streams.c13
-rw-r--r--sys/dev/syscons/syscons.c5
-rw-r--r--sys/dev/usb/usbdi.c6
-rw-r--r--sys/dev/xe/if_xe.c8
32 files changed, 117 insertions, 305 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index b46f770..bc5eeee 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.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: ata-disk.c,v 1.11 1999/05/17 15:58:45 sos Exp $
+ * $Id: ata-disk.c,v 1.12 1999/05/30 16:51:12 phk Exp $
*/
#include "ata.h"
@@ -88,6 +88,7 @@ static struct cdevsw ad_cdevsw = {
/* maxio */ 0,
/* bmaj */ BDEV_MAJOR,
};
+static struct cdevsw fakewd_cdevsw;
/* misc defines */
#define UNIT(dev) (minor(dev)>>3 & 0x1f) /* assume 8 minor # per unit */
@@ -663,8 +664,11 @@ ad_drvinit(void)
static int32_t ad_devsw_installed = 0;
if (!ad_devsw_installed) {
- cdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &ad_cdevsw);
- cdevsw_add_generic(0, 3, &ad_cdevsw); /* grap wd entries too */
+ cdevsw_add(&ad_cdevsw);
+ fakewd_cdevsw = ad_cdevsw;
+ fakewd_cdevsw.d_maj = 3;
+ fakewd_cdevsw.d_bmaj = 0;
+ cdevsw_add(&fakewd_cdevsw); /* grap wd entries too */
ad_devsw_installed = 1;
}
/* register callback for when interrupts are enabled */
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c
index aaec644..200b648 100644
--- a/sys/dev/ata/atapi-cd.c
+++ b/sys/dev/ata/atapi-cd.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: atapi-cd.c,v 1.8 1999/05/17 15:58:46 sos Exp $
+ * $Id: atapi-cd.c,v 1.9 1999/05/30 16:51:14 phk Exp $
*/
#include "ata.h"
@@ -1426,7 +1426,7 @@ acd_drvinit(void *unused)
static int32_t acd_devsw_installed = 0;
if (!acd_devsw_installed) {
- cdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &acd_cdevsw);
+ cdevsw_add(&acd_cdevsw);
acd_devsw_installed = 1;
}
}
diff --git a/sys/dev/ata/atapi-fd.c b/sys/dev/ata/atapi-fd.c
index d63a039..e89d636 100644
--- a/sys/dev/ata/atapi-fd.c
+++ b/sys/dev/ata/atapi-fd.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: atapi-fd.c,v 1.8 1999/05/20 09:12:05 sos Exp $
+ * $Id: atapi-fd.c,v 1.9 1999/05/30 16:51:15 phk Exp $
*/
#include "ata.h"
@@ -482,7 +482,7 @@ afd_drvinit(void *unused)
static int32_t afd_devsw_installed = 0;
if (!afd_devsw_installed) {
- cdevsw_add_generic(BDEV_MAJOR, CDEV_MAJOR, &afd_cdevsw);
+ cdevsw_add(&afd_cdevsw);
afd_devsw_installed = 1;
}
}
diff --git a/sys/dev/ata/atapi-tape.c b/sys/dev/ata/atapi-tape.c
index 7699d89..a471232 100644
--- a/sys/dev/ata/atapi-tape.c
+++ b/sys/dev/ata/atapi-tape.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: atapi-tape.c,v 1.8 1999/05/17 15:58:47 sos Exp $
+ * $Id: atapi-tape.c,v 1.9 1999/05/30 16:51:16 phk Exp $
*/
#include "ata.h"
@@ -554,9 +554,7 @@ ast_drvinit(void *unused)
static int32_t ast_devsw_installed = 0;
if (!ast_devsw_installed) {
- dev_t dev = makedev(CDEV_MAJOR, 0);
-
- cdevsw_add(&dev, &ast_cdevsw, NULL);
+ cdevsw_add(&ast_cdevsw);
ast_devsw_installed = 1;
}
}
diff --git a/sys/dev/bktr/bktr_core.c b/sys/dev/bktr/bktr_core.c
index 70d3367..558400b 100644
--- a/sys/dev/bktr/bktr_core.c
+++ b/sys/dev/bktr/bktr_core.c
@@ -1,4 +1,4 @@
-/* $Id: brooktree848.c,v 1.81 1999/05/25 12:43:40 roger Exp $ */
+/* $Id: brooktree848.c,v 1.82 1999/05/30 16:53:32 phk Exp $ */
/* BT848 Driver for Brooktree's Bt848, Bt848A, Bt849A, Bt878, Bt879 based cards.
The Brooktree BT848 Driver driver is based upon Mark Tinguely and
Jim Lowe's driver for the Matrox Meteor PCI card . The
@@ -668,6 +668,10 @@ bktr_probe(struct device *parent, struct cfdata *cf, void *aux)
pci_devaddr_t *pa;
pci_devres_t res;
struct isa_attach_args *ia = aux;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&bktr_cdevsw);
if (ia->ia_bustype != BUS_PCI)
return (0);
@@ -7017,29 +7021,6 @@ static void msp_autodetect( bktr_ptr_t bktr ) {
/* msp_write(bktr, 0x12, 0x0014, 0x7f40); */
}
-/******************************************************************************
- * magic:
- */
-
-
-#ifdef __FreeBSD__
-static int bktr_devsw_installed;
-
-static void
-bktr_drvinit( void *unused )
-{
- dev_t dev;
-
- if ( ! bktr_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&bktr_cdevsw, NULL);
- bktr_devsw_installed = 1;
- }
-}
-
-SYSINIT(bktrdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,bktr_drvinit,NULL)
-
-#endif /* __FreeBSD__ */
#endif /* !defined(__FreeBSD__) || (NBKTR > 0 && NPCI > 0) */
/* Local Variables: */
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c
index 70d0466..dd98d7a 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.88 1999/05/28 13:23:21 bde Exp $
+ * $Id: cy.c,v 1.89 1999/05/30 16:52:11 phk Exp $
*/
#include "opt_compat.h"
@@ -541,7 +541,6 @@ cyattach_common(cy_iobase, cy_align)
{
int adapter;
int cyu;
- dev_t dev;
u_char firmware_version;
cy_addr iobase;
int ncyu;
@@ -633,8 +632,7 @@ cyattach_common(cy_iobase, cy_align)
splx(s);
if (!sio_registered) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &sio_cdevsw, NULL);
+ cdevsw_add(&sio_cdevsw);
register_swi(SWI_TTY, siopoll);
sio_registered = TRUE;
}
diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c
index 70d0466..dd98d7a 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.88 1999/05/28 13:23:21 bde Exp $
+ * $Id: cy.c,v 1.89 1999/05/30 16:52:11 phk Exp $
*/
#include "opt_compat.h"
@@ -541,7 +541,6 @@ cyattach_common(cy_iobase, cy_align)
{
int adapter;
int cyu;
- dev_t dev;
u_char firmware_version;
cy_addr iobase;
int ncyu;
@@ -633,8 +632,7 @@ cyattach_common(cy_iobase, cy_align)
splx(s);
if (!sio_registered) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &sio_cdevsw, NULL);
+ cdevsw_add(&sio_cdevsw);
register_swi(SWI_TTY, siopoll);
sio_registered = TRUE;
}
diff --git a/sys/dev/dgb/dgb.c b/sys/dev/dgb/dgb.c
index b39c89d..e16c979 100644
--- a/sys/dev/dgb/dgb.c
+++ b/sys/dev/dgb/dgb.c
@@ -1,5 +1,5 @@
/*-
- * dgb.c $Id: dgb.c,v 1.48 1999/05/08 07:02:24 phk Exp $
+ * dgb.c $Id: dgb.c,v 1.49 1999/05/30 16:51:56 phk Exp $
*
* Digiboard driver.
*
@@ -425,7 +425,10 @@ dgbprobe(dev)
int i, v;
u_long win_size; /* size of vizible memory window */
int unit=dev->id_unit;
+ static int once;
+ if (!once++)
+ cdevsw_add(&dgb_cdevsw);
sc->unit=dev->id_unit;
sc->port=dev->id_iobase;
@@ -2301,21 +2304,4 @@ disc_optim(tp, t)
tp->t_state &= ~TS_CAN_BYPASS_L_RINT;
}
-
-static int dgb_devsw_installed;
-
-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;
- }
-}
-
-SYSINIT(dgbdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,dgb_drvinit,NULL)
-
#endif /* NDGB > 0 */
diff --git a/sys/dev/dgb/dgm.c b/sys/dev/dgb/dgm.c
index 5f3ff63..6fa36ba 100644
--- a/sys/dev/dgb/dgm.c
+++ b/sys/dev/dgb/dgm.c
@@ -1,5 +1,5 @@
/*-
- * $Id: dgm.c,v 1.13 1999/05/08 07:02:25 phk Exp $
+ * $Id: dgm.c,v 1.14 1999/05/30 16:51:58 phk Exp $
*
* This driver and the associated header files support the ISA PC/Xem
* Digiboards. Its evolutionary roots are described below.
@@ -397,6 +397,10 @@ dgmprobe(dev)
struct dgm_softc *sc= &dgm_softc[dev->id_unit];
int i, v;
int unit=dev->id_unit;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&dgm_cdevsw);
sc->unit=dev->id_unit;
sc->port=dev->id_iobase;
@@ -2105,21 +2109,4 @@ disc_optim(tp, t)
tp->t_state &= ~TS_CAN_BYPASS_L_RINT;
}
-
-static int dgm_devsw_installed;
-
-static void
-dgm_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! dgm_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&dgm_cdevsw, NULL);
- dgm_devsw_installed = 1;
- }
-}
-
-SYSINIT(dgmdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,dgm_drvinit,NULL)
-
#endif /* NDGM > 0 */
diff --git a/sys/dev/dpt/dpt_control.c b/sys/dev/dpt/dpt_control.c
index 0f9eff8..93a4b39 100644
--- a/sys/dev/dpt/dpt_control.c
+++ b/sys/dev/dpt/dpt_control.c
@@ -36,7 +36,7 @@
* future.
*/
-#ident "$Id: dpt_control.c,v 1.12 1999/05/13 05:24:53 jkh Exp $"
+#ident "$Id: dpt_control.c,v 1.13 1999/05/30 16:51:20 phk Exp $"
#include "opt_dpt.h"
@@ -848,7 +848,6 @@ static dpt_devsw_installed = 0;
static void
dpt_drvinit(void *unused)
{
- dev_t dev;
if (!dpt_devsw_installed) {
if (bootverbose)
@@ -856,11 +855,7 @@ dpt_drvinit(void *unused)
DPT_CTL_RELEASE, DPT_CTL_VERSION, DPT_CTL_PATCH);
/* Add the I/O (data) channel */
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &dpt_cdevsw, NULL);
- /* Add the Control (IOCTL) channel */
- dev = makedev(CDEV_MAJOR, SCSI_CONTROL_MASK);
- cdevsw_add(&dev, &dpt_cdevsw, NULL);
+ cdevsw_add(&dpt_cdevsw);
dpt_devsw_installed = 1;
}
diff --git a/sys/dev/fb/fb.c b/sys/dev/fb/fb.c
index 0b694b8..a1d5f11 100644
--- a/sys/dev/fb/fb.c
+++ b/sys/dev/fb/fb.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: fb.c,v 1.3 1999/01/19 11:31:10 yokota Exp $
+ * $Id: fb.c,v 1.4 1999/05/30 16:51:23 phk Exp $
*/
#include "fb.h"
@@ -311,11 +311,9 @@ static void
vfbattach(void *arg)
{
static int fb_devsw_installed = FALSE;
- dev_t dev;
if (!fb_devsw_installed) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &fb_cdevsw, NULL);
+ cdevsw_add(&fb_cdevsw);
fb_devsw_installed = TRUE;
}
}
diff --git a/sys/dev/iicbus/iic.c b/sys/dev/iicbus/iic.c
index fbdcbcc..4c27180 100644
--- a/sys/dev/iicbus/iic.c
+++ b/sys/dev/iicbus/iic.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: iic.c,v 1.10 1999/05/09 13:00:35 phk Exp $
+ * $Id: iic.c,v 1.11 1999/05/30 16:51:28 phk Exp $
*
*/
#include <sys/param.h>
@@ -121,6 +121,10 @@ static int
iic_probe(device_t dev)
{
struct iic_softc *sc = (struct iic_softc *)device_get_softc(dev);
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&iic_cdevsw);
sc->sc_addr = iicbus_get_addr(dev);
@@ -279,21 +283,5 @@ iicioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct proc *p)
return (error);
}
-static int iic_devsw_installed = 0;
-
-static void
-iic_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! iic_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&iic_cdevsw,NULL);
- iic_devsw_installed = 1;
- }
-}
-
DEV_DRIVER_MODULE(iic, iicbus, iic_driver, iic_devclass, CDEV_MAJOR,
NOMAJ, iic_cdevsw, 0, 0);
-
-SYSINIT(iicdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,iic_drvinit,NULL)
diff --git a/sys/dev/joy/joy.c b/sys/dev/joy/joy.c
index 6847f43..a2edbd5 100644
--- a/sys/dev/joy/joy.c
+++ b/sys/dev/joy/joy.c
@@ -120,6 +120,10 @@ static int get_tick __P((void));
static int
joyprobe (struct isa_device *dev)
{
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&joy_cdevsw);
#ifdef WANT_JOYSTICK_CONNECTED
outb (dev->id_iobase, 0xff);
DELAY (10000); /* 10 ms delay */
@@ -251,22 +255,6 @@ get_tick ()
return (high << 8) | low;
}
-
-static int joy_devsw_installed;
-
-static void joy_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! joy_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&joy_cdevsw,NULL);
- joy_devsw_installed = 1;
- }
-}
-
-SYSINIT(joydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,joy_drvinit,NULL)
-
#ifdef JOY_MODULE
#include <sys/exec.h>
diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c
index 47d9d5e..e858975 100644
--- a/sys/dev/kbd/kbd.c
+++ b/sys/dev/kbd/kbd.c
@@ -23,7 +23,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: kbd.c,v 1.7 1999/05/30 14:55:24 phk Exp $
+ * $Id: kbd.c,v 1.8 1999/05/30 16:51:31 phk Exp $
*/
#include "kbd.h"
@@ -431,11 +431,9 @@ static void
vkbdattach(void *arg)
{
static int kbd_devsw_installed = FALSE;
- dev_t dev;
if (!kbd_devsw_installed) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &kbd_cdevsw, NULL);
+ cdevsw_add(&kbd_cdevsw);
kbd_devsw_installed = TRUE;
}
}
diff --git a/sys/dev/mcd/mcd.c b/sys/dev/mcd/mcd.c
index c57a675..17e9b0c 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.106 1999/05/08 07:02:30 phk Exp $
+ * $Id: mcd.c,v 1.107 1999/05/30 16:52:19 phk Exp $
*/
static const char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore";
@@ -756,6 +756,10 @@ mcd_probe(struct isa_device *dev)
int unit = dev->id_unit;
int i, j;
unsigned char stbytes[3];
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&mcd_cdevsw);
mcd_data[unit].flags = MCDPROBING;
@@ -1856,19 +1860,4 @@ mcd_resume(int unit)
return mcd_play(unit, &cd->lastpb);
}
-
-static int mcd_devsw_installed;
-
-static void mcd_drvinit(void *unused)
-{
-
- if( ! mcd_devsw_installed ) {
- cdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &mcd_cdevsw);
- mcd_devsw_installed = 1;
- }
-}
-
-SYSINIT(mcddev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,mcd_drvinit,NULL)
-
-
#endif /* NMCD > 0 */
diff --git a/sys/dev/mse/mse.c b/sys/dev/mse/mse.c
index b70cf15..a8676bc 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.42 1999/05/06 18:44:02 peter Exp $
+ * $Id: mse.c,v 1.43 1999/05/30 16:52:20 phk Exp $
*/
/*
* Driver for the Logitech and ATI Inport Bus mice for use with 386bsd and
@@ -248,7 +248,10 @@ mseprobe(idp)
{
register struct mse_softc *sc = &mse_sc[idp->id_unit];
register int i;
+ static int once;
+ if (!once++)
+ cdevsw_add(&mse_cdevsw);
/*
* Check for each mouse type in the table.
*/
@@ -788,20 +791,4 @@ mse_getati(port, dx, dy, but)
outb(port + MSE_PORTB, MSE_INPORT_INTREN);
}
-static int mse_devsw_installed;
-
-static void mse_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! mse_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&mse_cdevsw, NULL);
- mse_devsw_installed = 1;
- }
-}
-
-SYSINIT(msedev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,mse_drvinit,NULL)
-
-
#endif /* NMSE */
diff --git a/sys/dev/pccard/if_xe.c b/sys/dev/pccard/if_xe.c
index 1836f89..88af576 100644
--- a/sys/dev/pccard/if_xe.c
+++ b/sys/dev/pccard/if_xe.c
@@ -352,7 +352,11 @@ xe_memwrite(struct pccard_devinfo *devi, off_t offset, u_char byte)
uios.uio_rw = UIO_WRITE;
uios.uio_procp = 0;
+#if 0 /* THIS IS BOGUS */
return cdevsw[CARD_MAJOR]->d_write(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
+#else
+ return (-1);
+#endif
}
@@ -373,7 +377,11 @@ xe_memread(struct pccard_devinfo *devi, off_t offset, u_char *buf, int size)
uios.uio_rw = UIO_READ;
uios.uio_procp = 0;
+#if 0 /* THIS IS BOGUS */
return cdevsw[CARD_MAJOR]->d_read(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
+#else
+ return (-1);
+#endif
}
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index bf5e657..8bc9c1d 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -23,7 +23,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: pci.c,v 1.105 1999/05/30 10:54:31 dfr Exp $
+ * $Id: pci.c,v 1.106 1999/05/30 16:53:36 phk Exp $
*
*/
@@ -875,10 +875,7 @@ static void *pci_devfs_token;
static void
pci_cdevinit(void *dummy)
{
- dev_t dev;
-
- dev = makedev(PCI_CDEV, 0);
- cdevsw_add(&dev, &pcicdev, NULL);
+ cdevsw_add(&pcicdev);
#ifdef DEVFS
pci_devfs_token = devfs_add_devswf(&pcicdev, 0, DV_CHR,
UID_ROOT, GID_WHEEL, 0644, "pci");
diff --git a/sys/dev/ppbus/lpt.c b/sys/dev/ppbus/lpt.c
index ab61978..67f4468 100644
--- a/sys/dev/ppbus/lpt.c
+++ b/sys/dev/ppbus/lpt.c
@@ -48,7 +48,7 @@
* from: unknown origin, 386BSD 0.1
* From Id: lpt.c,v 1.55.2.1 1996/11/12 09:08:38 phk Exp
* From Id: nlpt.c,v 1.14 1999/02/08 13:55:43 des Exp
- * $Id: lpt.c,v 1.3 1999/04/28 10:51:35 dt Exp $
+ * $Id: lpt.c,v 1.4 1999/05/30 16:51:34 phk Exp $
*/
/*
@@ -363,6 +363,10 @@ static struct ppb_device *
lptprobe(struct ppb_data *ppb)
{
struct lpt_data *sc;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&lpt_cdevsw);
sc = (struct lpt_data *) malloc(sizeof(struct lpt_data),
M_TEMP, M_NOWAIT);
@@ -954,19 +958,3 @@ lptioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct proc *p)
return(error);
}
-
-static int lpt_devsw_installed;
-
-static void
-lpt_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! lpt_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&lpt_cdevsw, NULL);
- lpt_devsw_installed = 1;
- }
-}
-
-SYSINIT(lptdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,lpt_drvinit,NULL)
diff --git a/sys/dev/ppbus/ppi.c b/sys/dev/ppbus/ppi.c
index 315ea29..e19be8c 100644
--- a/sys/dev/ppbus/ppi.c
+++ b/sys/dev/ppbus/ppi.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ppi.c,v 1.13 1999/04/28 10:51:39 dt Exp $
+ * $Id: ppi.c,v 1.14 1999/05/30 16:51:35 phk Exp $
*
*/
#include "ppi.h"
@@ -146,6 +146,10 @@ static struct ppb_device *
ppiprobe(struct ppb_data *ppb)
{
struct ppi_data *ppi;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&ppi_cdevsw);
ppi = (struct ppi_data *) malloc(sizeof(struct ppi_data),
M_TEMP, M_NOWAIT);
@@ -547,19 +551,4 @@ ppiioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct proc *p)
return (error);
}
-static int ppi_devsw_installed;
-
-static void ppi_drvinit(void *unused)
-{
- dev_t dev;
-
- if (!ppi_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &ppi_cdevsw, NULL);
- ppi_devsw_installed = 1;
- }
-}
-
-SYSINIT(ppidev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,ppi_drvinit,NULL)
-
#endif /* NPPI */
diff --git a/sys/dev/ppbus/pps.c b/sys/dev/ppbus/pps.c
index 8fc5528..0bad854 100644
--- a/sys/dev/ppbus/pps.c
+++ b/sys/dev/ppbus/pps.c
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: pps.c,v 1.17 1999/05/06 22:03:14 peter Exp $
+ * $Id: pps.c,v 1.18 1999/05/30 16:51:36 phk Exp $
*
* This driver implements a draft-mogul-pps-api-02.txt PPS source.
*
@@ -87,6 +87,10 @@ static struct ppb_device *
ppsprobe(struct ppb_data *ppb)
{
struct pps_data *sc;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&pps_cdevsw);
sc = (struct pps_data *) malloc(sizeof(struct pps_data),
M_TEMP, M_NOWAIT);
@@ -113,7 +117,6 @@ ppsprobe(struct ppb_data *ppb)
static int
ppsattach(struct ppb_device *dev)
{
- dev_t devt;
/*
* Report ourselves
@@ -126,8 +129,6 @@ ppsattach(struct ppb_device *dev)
dev->id_unit, DV_CHR,
UID_ROOT, GID_WHEEL, 0600, PPS_NAME "%d", dev->id_unit);
#endif
- devt = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&devt, &pps_cdevsw, NULL);
return (1);
}
diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c
index fdcbcf6..8e0fdc5 100644
--- a/sys/dev/rc/rc.c
+++ b/sys/dev/rc/rc.c
@@ -213,6 +213,10 @@ rcprobe(dvp)
{
int irq = ffs(dvp->id_irq) - 1;
register int nec = dvp->id_iobase;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&rc_cdevsw);
if (dvp->id_unit > NRC)
return 0;
@@ -1510,20 +1514,4 @@ rc_wait0(nec, unit, chan, line)
unit, chan, line);
}
-static int rc_devsw_installed;
-
-static void rc_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! rc_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&rc_cdevsw, NULL);
- rc_devsw_installed = 1;
- }
-}
-
-SYSINIT(rcdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,rc_drvinit,NULL)
-
-
#endif /* NRC */
diff --git a/sys/dev/rp/rp.c b/sys/dev/rp/rp.c
index a3c2382..c1913a0 100644
--- a/sys/dev/rp/rp.c
+++ b/sys/dev/rp/rp.c
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: rp.c,v 1.26 1999/05/09 17:07:20 peter Exp $
+ * $Id: rp.c,v 1.27 1999/05/30 16:52:22 phk Exp $
*/
/*
@@ -1085,7 +1085,6 @@ struct isa_device *dev;
static void
rp_pciattach(pcici_t tag, int unit)
{
- dev_t rp_dev;
int success, oldspl;
u_short iobase;
int num_ports, num_chan, num_aiops;
@@ -1140,8 +1139,7 @@ rp_pciattach(pcici_t tag, int unit)
rp_addr(unit) = rp;
splx(oldspl);
- rp_dev = makedev(CDEV_MAJOR, unit);
- cdevsw_add(&rp_dev, &rp_cdevsw, NULL);
+ cdevsw_add(&rp_cdevsw);
port = 0;
for(aiop=0; aiop < num_aiops; aiop++) {
@@ -1196,7 +1194,6 @@ int
rpattach(dev)
struct isa_device *dev;
{
- dev_t rp_dev;
int iobase, unit, /*rpmajor,*/ oldspl;
int num_ports, num_chan, num_aiops;
int aiop, chan, port;
@@ -1252,8 +1249,7 @@ struct isa_device *dev;
rp_addr(unit) = rp;
splx(oldspl);
- rp_dev = makedev(CDEV_MAJOR, unit);
- cdevsw_add(&rp_dev, &rp_cdevsw, NULL);
+ cdevsw_add(&rp_cdevsw);
port = 0;
for(aiop=0; aiop < num_aiops; aiop++) {
diff --git a/sys/dev/scd/scd.c b/sys/dev/scd/scd.c
index 24af2e1..ff4832d 100644
--- a/sys/dev/scd/scd.c
+++ b/sys/dev/scd/scd.c
@@ -41,7 +41,7 @@
*/
-/* $Id: scd.c,v 1.45 1999/05/09 20:29:04 phk Exp $ */
+/* $Id: scd.c,v 1.46 1999/05/30 16:52:24 phk Exp $ */
/* Please send any comments to micke@dynas.se */
@@ -718,6 +718,10 @@ scd_probe(struct isa_device *dev)
static char namebuf[8+16+8+3];
char *s = namebuf;
int loop_count = 0;
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&scd_cdevsw);
scd_data[unit].flags = SCDPROBING;
scd_data[unit].iobase = dev->id_iobase;
@@ -1574,19 +1578,4 @@ scd_toc_entry (int unit, struct ioc_read_toc_single_entry *te)
return 0;
}
-
-static int scd_devsw_installed;
-
-static void scd_drvinit(void *unused)
-{
-
- if( ! scd_devsw_installed ) {
- cdevsw_add_generic(BDEV_MAJOR,CDEV_MAJOR, &scd_cdevsw);
- scd_devsw_installed = 1;
- }
-}
-
-SYSINIT(scddev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,scd_drvinit,NULL)
-
-
#endif /* NSCD > 0 */
diff --git a/sys/dev/si/si.c b/sys/dev/si/si.c
index 0565390..18d8377 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.85 1999/05/09 17:07:21 peter Exp $
+ * $Id: si.c,v 1.86 1999/05/30 16:52:25 phk Exp $
*/
#ifndef lint
@@ -2832,13 +2832,8 @@ static int si_devsw_installed;
static void
si_drvinit(void *unused)
{
- dev_t dev;
- if (!si_devsw_installed) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&si_cdevsw, NULL);
- si_devsw_installed = 1;
- }
+ cdevsw_add(&si_cdevsw);
}
SYSINIT(sidev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,si_drvinit,NULL)
diff --git a/sys/dev/smbus/smb.c b/sys/dev/smbus/smb.c
index f411f8a..5eed57e 100644
--- a/sys/dev/smbus/smb.c
+++ b/sys/dev/smbus/smb.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: smb.c,v 1.11 1999/05/09 13:00:37 phk Exp $
+ * $Id: smb.c,v 1.12 1999/05/30 16:51:37 phk Exp $
*
*/
#include <sys/param.h>
@@ -122,6 +122,10 @@ static int
smb_probe(device_t dev)
{
struct smb_softc *sc = (struct smb_softc *)device_get_softc(dev);
+ static int once;
+
+ if (!once++)
+ cdevsw_add(&smb_cdevsw);
sc->sc_addr = smbus_get_addr(dev);
@@ -272,21 +276,5 @@ smbioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct proc *p)
return (error);
}
-static int smb_devsw_installed = 0;
-
-static void
-smb_drvinit(void *unused)
-{
- dev_t dev;
-
- if( ! smb_devsw_installed ) {
- dev = makedev(CDEV_MAJOR,0);
- cdevsw_add(&dev,&smb_cdevsw,NULL);
- smb_devsw_installed = 1;
- }
-}
-
DEV_DRIVER_MODULE(smb, smbus, smb_driver, smb_devclass, CDEV_MAJOR, NOMAJ,
smb_cdevsw, 0, 0);
-
-SYSINIT(smbdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,smb_drvinit,NULL)
diff --git a/sys/dev/snp/snp.c b/sys/dev/snp/snp.c
index 8b45c8a..d9f9897 100644
--- a/sys/dev/snp/snp.c
+++ b/sys/dev/snp/snp.c
@@ -83,11 +83,7 @@ snpdevtotty (dev)
dev_t dev;
{
struct cdevsw *cdp;
- int maj;
- maj = major(dev);
- if ((u_int)maj >= nchrdev)
- return (NULL);
cdp = devsw(dev);
if (cdp == NULL)
return (NULL);
@@ -533,14 +529,12 @@ static void
snp_drvinit(unused)
void *unused;
{
- dev_t dev;
#ifdef DEVFS
int i;
#endif
if( ! snp_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&snp_cdevsw, NULL);
+ cdevsw_add(&snp_cdevsw);
snp_devsw_installed = 1;
#ifdef DEVFS
for ( i = 0 ; i < NSNP ; i++) {
diff --git a/sys/dev/speaker/spkr.c b/sys/dev/speaker/spkr.c
index 759a9fc..f594b8b 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.35 1998/08/24 02:28:16 bde Exp $
+ * $Id: spkr.c,v 1.36 1999/05/30 16:52:27 phk Exp $
*/
#include "speaker.h"
@@ -601,24 +601,14 @@ spkrioctl(dev, cmd, cmdarg, flags, p)
return(EINVAL);
}
-
-static int spkr_devsw_installed;
-
static void
spkr_drvinit(void *unused)
{
- dev_t dev;
-
- if( ! spkr_devsw_installed ) {
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev,&spkr_cdevsw, NULL);
- spkr_devsw_installed = 1;
+ cdevsw_add(&spkr_cdevsw);
#ifdef DEVFS
- devfs_token = devfs_add_devswf(&spkr_cdevsw, 0, DV_CHR,
- UID_ROOT, GID_WHEEL, 0600,
- "speaker");
+ devfs_token = devfs_add_devswf(&spkr_cdevsw, 0, DV_CHR,
+ UID_ROOT, GID_WHEEL, 0600, "speaker");
#endif
- }
}
SYSINIT(spkrdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,spkr_drvinit,NULL)
diff --git a/sys/dev/streams/streams.c b/sys/dev/streams/streams.c
index e3790e8..e82ed9e 100644
--- a/sys/dev/streams/streams.c
+++ b/sys/dev/streams/streams.c
@@ -152,21 +152,14 @@ typedef struct streams_softc *sc_p;
static sc_p sca[NSTREAMS];
-static void
-streamsattach(void *dummy)
-{
- cdevsw_add_generic(CDEV_MAJOR, CDEV_MAJOR, &streams_cdevsw);
-}
-
static int
streams_modevent(module_t mod, int type, void *unused)
{
switch (type) {
case MOD_LOAD:
- streamsattach(NULL);
+ cdevsw_add(&streams_cdevsw);
return 0;
case MOD_UNLOAD:
- cdevsw[CDEV_MAJOR] = NULL; /* clean up cdev */
return 0;
default:
break;
@@ -394,12 +387,10 @@ svr4_soo_close(struct file *fp, struct proc *p)
static void
streams_drvinit(void *unused)
{
- dev_t dev;
int unit;
sc_p scp = sca[unit];
- dev = makedev(CDEV_MAJOR, 0);
- cdevsw_add(&dev, &streams_cdevsw, NULL);
+ cdevsw_add(&streams_cdevsw);
for (unit = 0; unit < NSTREAMS; unit++) {
/*
* Allocate storage for this instance .
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 41ee89a..61b6830 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.303 1999/05/12 04:45:56 bde Exp $
+ * $Id: syscons.c,v 1.304 1999/05/30 16:51:42 phk Exp $
*/
#include "sc.h"
@@ -574,7 +574,6 @@ sc_attach_unit(int unit, int flags)
#if defined(VESA) && defined(VM86)
video_info_t info;
#endif
- dev_t cdev = makedev(CDEV_MAJOR, 0);
#ifdef DEVFS
int vc;
#endif
@@ -661,7 +660,7 @@ sc_attach_unit(int unit, int flags)
at_shutdown(scshutdown, NULL, SHUTDOWN_PRE_SYNC);
- cdevsw_add(&cdev, &sc_cdevsw, NULL);
+ cdevsw_add(&sc_cdevsw);
#ifdef DEVFS
for (vc = 0; vc < MAXCONS; vc++)
diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c
index ee2f041..fa827ce 100644
--- a/sys/dev/usb/usbdi.c
+++ b/sys/dev/usb/usbdi.c
@@ -965,17 +965,13 @@ static int usbd_global_init_done = 0;
void
usbd_init()
{
-#if defined(__FreeBSD__)
- dev_t dev;
-#endif
if (!usbd_global_init_done) {
usbd_global_init_done = 1;
SIMPLEQ_INIT(&usbd_free_requests);
#if defined(__FreeBSD__)
- dev = makedev(USB_CDEV_MAJOR, 0);
- cdevsw_add(&dev, &usb_cdevsw, NULL);
+ cdevsw_add(&usb_cdevsw);
#endif
}
}
diff --git a/sys/dev/xe/if_xe.c b/sys/dev/xe/if_xe.c
index 1836f89..88af576 100644
--- a/sys/dev/xe/if_xe.c
+++ b/sys/dev/xe/if_xe.c
@@ -352,7 +352,11 @@ xe_memwrite(struct pccard_devinfo *devi, off_t offset, u_char byte)
uios.uio_rw = UIO_WRITE;
uios.uio_procp = 0;
+#if 0 /* THIS IS BOGUS */
return cdevsw[CARD_MAJOR]->d_write(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
+#else
+ return (-1);
+#endif
}
@@ -373,7 +377,11 @@ xe_memread(struct pccard_devinfo *devi, off_t offset, u_char *buf, int size)
uios.uio_rw = UIO_READ;
uios.uio_procp = 0;
+#if 0 /* THIS IS BOGUS */
return cdevsw[CARD_MAJOR]->d_read(makedev(CARD_MAJOR, devi->slt->slotnum), &uios, 0);
+#else
+ return (-1);
+#endif
}
OpenPOWER on IntegriCloud