diff options
Diffstat (limited to 'sys/i386/isa/rc.c')
-rw-r--r-- | sys/i386/isa/rc.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/sys/i386/isa/rc.c b/sys/i386/isa/rc.c index fdcbcf6..8e0fdc5 100644 --- a/sys/i386/isa/rc.c +++ b/sys/i386/isa/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 */ |