diff options
| author | Julian Elischer <julian@FreeBSD.org> | 1995-11-29 10:49:16 +0000 |
|---|---|---|
| committer | Julian Elischer <julian@FreeBSD.org> | 1995-11-29 10:49:16 +0000 |
| commit | 53ac6efbd86e7552454f4b69d25d8980dd619634 (patch) | |
| tree | 5ed2d747156a38098db0e540f833114bc9dd1b51 /sys/dev/cy | |
| parent | 3924871a1d9667169a58975b96b4a57759479f0e (diff) | |
Notes
Diffstat (limited to 'sys/dev/cy')
| -rw-r--r-- | sys/dev/cy/cy.c | 38 | ||||
| -rw-r--r-- | sys/dev/cy/cy_isa.c | 38 |
2 files changed, 48 insertions, 28 deletions
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c index c2f37255f90c..c4739ae67c88 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 c2f37255f90c..c4739ae67c88 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 */ |
