summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2001-03-21 11:49:07 +0000
committersos <sos@FreeBSD.org>2001-03-21 11:49:07 +0000
commitcbf67f9c44d11cef56adb2ae4c7586d92bfe83e7 (patch)
treeb7086bcee53553862355905e8e37f46418331768 /sys/dev
parent988827577e34a2577a31ddbe6da7d7bfdb177b46 (diff)
downloadFreeBSD-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.c9
-rw-r--r--sys/dev/ata/atapi-fd.c7
-rw-r--r--sys/dev/ata/atapi-tape.c10
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;
}
OpenPOWER on IntegriCloud