diff options
author | sos <sos@FreeBSD.org> | 2001-03-21 11:49:07 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2001-03-21 11:49:07 +0000 |
commit | cbf67f9c44d11cef56adb2ae4c7586d92bfe83e7 (patch) | |
tree | b7086bcee53553862355905e8e37f46418331768 /sys/dev | |
parent | 988827577e34a2577a31ddbe6da7d7bfdb177b46 (diff) | |
download | FreeBSD-src-cbf67f9c44d11cef56adb2ae4c7586d92bfe83e7.zip FreeBSD-src-cbf67f9c44d11cef56adb2ae4c7586d92bfe83e7.tar.gz |
Set the device names as early as possible.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ata/atapi-cd.c | 9 | ||||
-rw-r--r-- | sys/dev/ata/atapi-fd.c | 7 | ||||
-rw-r--r-- | sys/dev/ata/atapi-tape.c | 10 |
3 files changed, 17 insertions, 9 deletions
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c index 114e0fa..d85630d 100644 --- a/sys/dev/ata/atapi-cd.c +++ b/sys/dev/ata/atapi-cd.c @@ -119,6 +119,9 @@ acdattach(struct atapi_softc *atp) return -1; } + sprintf(name, "acd%d", cdp->lun); + ata_set_name(atp->controller, atp->unit, name); + /* get drive capabilities, some drives needs this repeated */ for (count = 0 ; count < 5 ; count++) { if (!(error = acd_mode_sense(cdp, ATAPI_CDROM_CAP_PAGE, @@ -182,6 +185,8 @@ acdattach(struct atapi_softc *atp) } sprintf(name, "acd%d-%d", cdp->lun, cdp->lun + cdp->changer_info->slots - 1); + ata_free_name(atp->controller, atp->unit); + ata_set_name(atp->controller, atp->unit, name); devstat_add_entry(cdp->stats, name, tmpcdp->lun, DEV_BSIZE, DEVSTAT_NO_ORDERED_TAGS, DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE, @@ -194,8 +199,6 @@ acdattach(struct atapi_softc *atp) DEVSTAT_NO_ORDERED_TAGS, DEVSTAT_TYPE_CDROM | DEVSTAT_TYPE_IF_IDE, DEVSTAT_PRIORITY_CD); - sprintf(name, "acd%d", cdp->lun); - ata_set_name(atp->controller, atp->unit, name); } cdp->atp->driver = cdp; acd_describe(cdp); @@ -318,7 +321,7 @@ acd_describe(struct acd_softc *cdp) device_get_unit(cdp->atp->controller->dev), (cdp->atp->unit == ATA_MASTER) ? "master" : "slave"); - ata_printf(cdp->atp->controller, cdp->atp->unit, ""); + ata_printf(cdp->atp->controller, cdp->atp->unit, "%s", ""); if (cdp->cap.cur_read_speed) { printf("read %dKB/s", cdp->cap.cur_read_speed * 1000 / 1024); if (cdp->cap.max_read_speed) diff --git a/sys/dev/ata/atapi-fd.c b/sys/dev/ata/atapi-fd.c index 9d19984..9a8bc44 100644 --- a/sys/dev/ata/atapi-fd.c +++ b/sys/dev/ata/atapi-fd.c @@ -91,9 +91,12 @@ afdattach(struct atapi_softc *atp) ata_printf(atp->controller, atp->unit, "out of memory\n"); return -1; } - bioq_init(&fdp->queue); + fdp->atp = atp; fdp->lun = ata_get_lun(&afd_lun_map); + sprintf(name, "afd%d", fdp->lun); + ata_set_name(atp->controller, atp->unit, name); + bioq_init(&fdp->queue); if (afd_sense(fdp)) { free(fdp, M_AFD); @@ -114,8 +117,6 @@ afdattach(struct atapi_softc *atp) fdp->dev = dev; fdp->atp->flags |= ATAPI_F_MEDIA_CHANGED; fdp->atp->driver = fdp; - sprintf(name, "afd%d", fdp->lun); - ata_set_name(atp->controller, atp->unit, name); afd_describe(fdp); return 0; } diff --git a/sys/dev/ata/atapi-tape.c b/sys/dev/ata/atapi-tape.c index c1e8ea4..c22fb8c 100644 --- a/sys/dev/ata/atapi-tape.c +++ b/sys/dev/ata/atapi-tape.c @@ -98,14 +98,19 @@ astattach(struct atapi_softc *atp) cdevsw_add(&ast_cdevsw); ast_cdev_done = 1; } + stp = malloc(sizeof(struct ast_softc), M_AST, M_NOWAIT | M_ZERO); if (!stp) { ata_printf(atp->controller, atp->unit, "out of memory\n"); return -1; } - bioq_init(&stp->queue); + stp->atp = atp; stp->lun = ata_get_lun(&ast_lun_map); + sprintf(name, "ast%d", stp->lun); + ata_set_name(atp->controller, atp->unit, name); + bioq_init(&stp->queue); + if (ast_sense(stp)) { free(stp, M_AST); return -1; @@ -127,6 +132,7 @@ astattach(struct atapi_softc *atp) ast_mode_select(stp, &identify, sizeof(identify)); ast_read_position(stp, 0, &position); } + devstat_add_entry(&stp->stats, "ast", stp->lun, DEV_BSIZE, DEVSTAT_NO_ORDERED_TAGS, DEVSTAT_TYPE_SEQUENTIAL | DEVSTAT_TYPE_IF_IDE, @@ -143,8 +149,6 @@ astattach(struct atapi_softc *atp) stp->dev2 = dev; stp->atp->flags |= ATAPI_F_MEDIA_CHANGED; stp->atp->driver = stp; - sprintf(name, "ast%d", stp->lun); - ata_set_name(atp->controller, atp->unit, name); ast_describe(stp); return 0; } |