diff options
author | julian <julian@FreeBSD.org> | 1998-01-06 08:28:46 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 1998-01-06 08:28:46 +0000 |
commit | 868a198edaaa6d5b8dde3e51f3583e007283bd11 (patch) | |
tree | dff8c3ec60df217b49a3385a4d6f847891de3db8 /sys/scsi | |
parent | 363be0f0eb25f269b4465fb2b020f99b19c081a3 (diff) | |
download | FreeBSD-src-868a198edaaa6d5b8dde3e51f3583e007283bd11.zip FreeBSD-src-868a198edaaa6d5b8dde3e51f3583e007283bd11.tar.gz |
the pt driver should make one DEVFS entry for each one found rather than
just one for the whole system..
Diffstat (limited to 'sys/scsi')
-rw-r--r-- | sys/scsi/pt.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/sys/scsi/pt.c b/sys/scsi/pt.c index 06565a4..06d314b 100644 --- a/sys/scsi/pt.c +++ b/sys/scsi/pt.c @@ -37,7 +37,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: pt.c,v 1.24 1997/09/21 22:03:03 gibbs Exp $ + * $Id: pt.c,v 1.25 1997/12/02 21:07:00 phk Exp $ */ #include "opt_bounce.h" @@ -57,6 +57,10 @@ struct scsi_data { struct buf_queue_head buf_queue; +#ifdef DEVFS + void *devfs_data_tok; + void *devfs_ctl_tok; +#endif }; static d_open_t ptopen; @@ -105,6 +109,19 @@ ptattach(struct scsi_link *sc_link) struct scsi_data *pt = sc_link->sd; bufq_init(&pt->buf_queue); + +#ifdef DEVFS + pt->devfs_data_tok = devfs_add_devswf(&pt_cdevsw, + sc_link->dev_unit, + DV_CHR, + UID_ROOT, GID_WHEEL, 0600, + "pt%d", sc_link->dev_unit); + pt->devfs_ctl_tok = devfs_add_devswf(&pt_cdevsw, + sc_link->dev_unit | SCSI_CONTROL_MASK, + DV_CHR, + UID_ROOT, GID_WHEEL, 0600, + "pt%d.ctl", sc_link->dev_unit); +#endif return 0; } @@ -275,31 +292,16 @@ pt_sense(struct scsi_xfer *xs) static pt_devsw_installed = 0; -static void pt_drvinit(void *unused) +static void +pt_drvinit(void *unused) { dev_t dev; -#ifdef DEVFS - int unit; -#endif - if( ! pt_devsw_installed ) { + if ( ! pt_devsw_installed ) { dev = makedev(CDEV_MAJOR, 0); cdevsw_add(&dev,&pt_cdevsw, NULL); pt_devsw_installed = 1; -#ifdef DEVFS - /* XXX only 1 unit. */ - for (unit = 0; unit < 1; unit++) { - /* XXX not saving tokens yet. */ - devfs_add_devswf(&pt_cdevsw, unit, DV_CHR, - UID_ROOT, GID_WHEEL, 0600, - "pt%d", unit); - devfs_add_devswf(&pt_cdevsw, unit | SCSI_CONTROL_MASK, - DV_CHR, - UID_ROOT, GID_WHEEL, 0600, - "pt%d.ctl", unit); - } -#endif - } + } } SYSINIT(ptdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,pt_drvinit,NULL) |