summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/isa/mcd.c55
-rw-r--r--sys/dev/scsipi/cd.c57
-rw-r--r--sys/dev/scsipi/sd.c58
3 files changed, 87 insertions, 83 deletions
diff --git a/sys/dev/isa/mcd.c b/sys/dev/isa/mcd.c
index 44f914a0cb7..35941a8bfa1 100644
--- a/sys/dev/isa/mcd.c
+++ b/sys/dev/isa/mcd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: mcd.c,v 1.41 1995/07/10 01:27:24 cgd Exp $ */
+/* $NetBSD: mcd.c,v 1.42 1995/08/05 23:47:52 mycroft Exp $ */
/*
* Copyright (c) 1993, 1994, 1995 Charles M. Hannum. All rights reserved.
@@ -639,35 +639,38 @@ void
mcdgetdisklabel(sc)
struct mcd_softc *sc;
{
+ struct disklabel *lp = &sc->sc_dk.dk_label;
- bzero(&sc->sc_dk.dk_label, sizeof(struct disklabel));
+ bzero(lp, sizeof(struct disklabel));
bzero(&sc->sc_dk.dk_cpulabel, sizeof(struct cpu_disklabel));
- sc->sc_dk.dk_label.d_secsize = sc->blksize;
- sc->sc_dk.dk_label.d_ntracks = 1;
- sc->sc_dk.dk_label.d_nsectors = 100;
- sc->sc_dk.dk_label.d_ncylinders = (sc->disksize / 100) + 1;
- sc->sc_dk.dk_label.d_secpercyl =
- sc->sc_dk.dk_label.d_ntracks * sc->sc_dk.dk_label.d_nsectors;
-
- strncpy(sc->sc_dk.dk_label.d_typename, "Mitsumi CD-ROM", 16);
- sc->sc_dk.dk_label.d_type = 0; /* XXX */
- strncpy(sc->sc_dk.dk_label.d_packname, "fictitious", 16);
- sc->sc_dk.dk_label.d_secperunit = sc->disksize;
- sc->sc_dk.dk_label.d_rpm = 300;
- sc->sc_dk.dk_label.d_interleave = 1;
- sc->sc_dk.dk_label.d_flags = D_REMOVABLE;
-
- sc->sc_dk.dk_label.d_partitions[0].p_offset = 0;
- sc->sc_dk.dk_label.d_partitions[0].p_size =
- sc->sc_dk.dk_label.d_secperunit *
- (sc->sc_dk.dk_label.d_secsize / DEV_BSIZE);
- sc->sc_dk.dk_label.d_partitions[0].p_fstype = FS_ISO9660;
- sc->sc_dk.dk_label.d_npartitions = 1;
+ lp->d_secsize = sc->blksize;
+ lp->d_ntracks = 1;
+ lp->d_nsectors = 100;
+ lp->d_ncylinders = (sc->disksize / 100) + 1;
+ lp->d_secpercyl = lp->d_ntracks * lp->d_nsectors;
+
+ strncpy(lp->d_typename, "Mitsumi CD-ROM", 16);
+ lp->d_type = 0; /* XXX */
+ strncpy(lp->d_packname, "fictitious", 16);
+ lp->d_secperunit = sc->disksize;
+ lp->d_rpm = 300;
+ lp->d_interleave = 1;
+ lp->d_flags = D_REMOVABLE;
+
+ lp->d_partitions[0].p_offset = 0;
+ lp->d_partitions[0].p_size =
+ lp->d_secperunit * (lp->d_secsize / DEV_BSIZE);
+ lp->d_partitions[0].p_fstype = FS_ISO9660;
+ lp->d_partitions[RAW_PART].p_offset = 0;
+ lp->d_partitions[RAW_PART].p_size =
+ lp->d_secperunit * (lp->d_secsize / DEV_BSIZE);
+ lp->d_partitions[RAW_PART].p_fstype = FS_ISO9660;
+ lp->d_npartitions = RAW_PART + 1;
- sc->sc_dk.dk_label.d_magic = DISKMAGIC;
- sc->sc_dk.dk_label.d_magic2 = DISKMAGIC;
- sc->sc_dk.dk_label.d_checksum = dkcksum(&sc->sc_dk.dk_label);
+ lp->d_magic = DISKMAGIC;
+ lp->d_magic2 = DISKMAGIC;
+ lp->d_checksum = dkcksum(lp);
}
int
diff --git a/sys/dev/scsipi/cd.c b/sys/dev/scsipi/cd.c
index 736bfa3f2d9..3c3cef7366c 100644
--- a/sys/dev/scsipi/cd.c
+++ b/sys/dev/scsipi/cd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cd.c,v 1.71 1995/07/24 06:55:37 cgd Exp $ */
+/* $NetBSD: cd.c,v 1.72 1995/08/05 23:48:53 mycroft Exp $ */
/*
* Copyright (c) 1994, 1995 Charles M. Hannum. All rights reserved.
@@ -841,35 +841,38 @@ void
cdgetdisklabel(cd)
struct cd_softc *cd;
{
+ struct disklabel *lp = &cd->sc_dk.dk_label;
- bzero(&cd->sc_dk.dk_label, sizeof(struct disklabel));
+ bzero(lp, sizeof(struct disklabel));
bzero(&cd->sc_dk.dk_cpulabel, sizeof(struct cpu_disklabel));
- cd->sc_dk.dk_label.d_secsize = cd->params.blksize;
- cd->sc_dk.dk_label.d_ntracks = 1;
- cd->sc_dk.dk_label.d_nsectors = 100;
- cd->sc_dk.dk_label.d_ncylinders = (cd->params.disksize / 100) + 1;
- cd->sc_dk.dk_label.d_secpercyl =
- cd->sc_dk.dk_label.d_ntracks * cd->sc_dk.dk_label.d_nsectors;
-
- strncpy(cd->sc_dk.dk_label.d_typename, "SCSI CD-ROM", 16);
- cd->sc_dk.dk_label.d_type = DTYPE_SCSI;
- strncpy(cd->sc_dk.dk_label.d_packname, "fictitious", 16);
- cd->sc_dk.dk_label.d_secperunit = cd->params.disksize;
- cd->sc_dk.dk_label.d_rpm = 300;
- cd->sc_dk.dk_label.d_interleave = 1;
- cd->sc_dk.dk_label.d_flags = D_REMOVABLE;
-
- cd->sc_dk.dk_label.d_partitions[0].p_offset = 0;
- cd->sc_dk.dk_label.d_partitions[0].p_size =
- cd->sc_dk.dk_label.d_secperunit *
- (cd->sc_dk.dk_label.d_secsize / DEV_BSIZE);
- cd->sc_dk.dk_label.d_partitions[0].p_fstype = FS_ISO9660;
- cd->sc_dk.dk_label.d_npartitions = 1;
-
- cd->sc_dk.dk_label.d_magic = DISKMAGIC;
- cd->sc_dk.dk_label.d_magic2 = DISKMAGIC;
- cd->sc_dk.dk_label.d_checksum = dkcksum(&cd->sc_dk.dk_label);
+ lp->d_secsize = cd->params.blksize;
+ lp->d_ntracks = 1;
+ lp->d_nsectors = 100;
+ lp->d_ncylinders = (cd->params.disksize / 100) + 1;
+ lp->d_secpercyl = lp->d_ntracks * lp->d_nsectors;
+
+ strncpy(lp->d_typename, "SCSI CD-ROM", 16);
+ lp->d_type = DTYPE_SCSI;
+ strncpy(lp->d_packname, "fictitious", 16);
+ lp->d_secperunit = cd->params.disksize;
+ lp->d_rpm = 300;
+ lp->d_interleave = 1;
+ lp->d_flags = D_REMOVABLE;
+
+ lp->d_partitions[0].p_offset = 0;
+ lp->d_partitions[0].p_size =
+ lp->d_secperunit * (lp->d_secsize / DEV_BSIZE);
+ lp->d_partitions[0].p_fstype = FS_ISO9660;
+ lp->d_partitions[RAW_PART].p_offset = 0;
+ lp->d_partitions[RAW_PART].p_size =
+ lp->d_secperunit * (lp->d_secsize / DEV_BSIZE);
+ lp->d_partitions[RAW_PART].p_fstype = FS_ISO9660;
+ lp->d_npartitions = RAW_PART + 1;
+
+ lp->d_magic = DISKMAGIC;
+ lp->d_magic2 = DISKMAGIC;
+ lp->d_checksum = dkcksum(lp);
}
/*
diff --git a/sys/dev/scsipi/sd.c b/sys/dev/scsipi/sd.c
index bd4c4657872..3cb3866070a 100644
--- a/sys/dev/scsipi/sd.c
+++ b/sys/dev/scsipi/sd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sd.c,v 1.73 1995/07/24 06:56:48 cgd Exp $ */
+/* $NetBSD: sd.c,v 1.74 1995/08/05 23:48:55 mycroft Exp $ */
/*
* Copyright (c) 1994, 1995 Charles M. Hannum. All rights reserved.
@@ -654,47 +654,45 @@ void
sdgetdisklabel(sd)
struct sd_softc *sd;
{
+ struct disklabel *lp = &sd->sc_dk.dk_label;
char *errstring;
- bzero(&sd->sc_dk.dk_label, sizeof(struct disklabel));
+ bzero(lp, sizeof(struct disklabel));
bzero(&sd->sc_dk.dk_cpulabel, sizeof(struct cpu_disklabel));
- sd->sc_dk.dk_label.d_secsize = sd->params.blksize;
- sd->sc_dk.dk_label.d_ntracks = sd->params.heads;
- sd->sc_dk.dk_label.d_nsectors = sd->params.sectors;
- sd->sc_dk.dk_label.d_ncylinders = sd->params.cyls;
- sd->sc_dk.dk_label.d_secpercyl =
- sd->sc_dk.dk_label.d_ntracks * sd->sc_dk.dk_label.d_nsectors;
- if (sd->sc_dk.dk_label.d_secpercyl == 0) {
- sd->sc_dk.dk_label.d_secpercyl = 100;
+ lp->d_secsize = sd->params.blksize;
+ lp->d_ntracks = sd->params.heads;
+ lp->d_nsectors = sd->params.sectors;
+ lp->d_ncylinders = sd->params.cyls;
+ lp->d_secpercyl = lp->d_ntracks * lp->d_nsectors;
+ if (lp->d_secpercyl == 0) {
+ lp->d_secpercyl = 100;
/* as long as it's not 0 - readdisklabel divides by it (?) */
}
- strncpy(sd->sc_dk.dk_label.d_typename, "SCSI disk", 16);
- sd->sc_dk.dk_label.d_type = DTYPE_SCSI;
- strncpy(sd->sc_dk.dk_label.d_packname, "fictitious", 16);
- sd->sc_dk.dk_label.d_secperunit = sd->params.disksize;
- sd->sc_dk.dk_label.d_rpm = 3600;
- sd->sc_dk.dk_label.d_interleave = 1;
- sd->sc_dk.dk_label.d_flags = 0;
-
- sd->sc_dk.dk_label.d_partitions[RAW_PART].p_offset = 0;
- sd->sc_dk.dk_label.d_partitions[RAW_PART].p_size =
- sd->sc_dk.dk_label.d_secperunit *
- (sd->sc_dk.dk_label.d_secsize / DEV_BSIZE);
- sd->sc_dk.dk_label.d_partitions[RAW_PART].p_fstype = FS_UNUSED;
- sd->sc_dk.dk_label.d_npartitions = RAW_PART + 1;
-
- sd->sc_dk.dk_label.d_magic = DISKMAGIC;
- sd->sc_dk.dk_label.d_magic2 = DISKMAGIC;
- sd->sc_dk.dk_label.d_checksum = dkcksum(&sd->sc_dk.dk_label);
+ strncpy(lp->d_typename, "SCSI disk", 16);
+ lp->d_type = DTYPE_SCSI;
+ strncpy(lp->d_packname, "fictitious", 16);
+ lp->d_secperunit = sd->params.disksize;
+ lp->d_rpm = 3600;
+ lp->d_interleave = 1;
+ lp->d_flags = 0;
+
+ lp->d_partitions[RAW_PART].p_offset = 0;
+ lp->d_partitions[RAW_PART].p_size =
+ lp->d_secperunit * (lp->d_secsize / DEV_BSIZE);
+ lp->d_partitions[RAW_PART].p_fstype = FS_UNUSED;
+ lp->d_npartitions = RAW_PART + 1;
+
+ lp->d_magic = DISKMAGIC;
+ lp->d_magic2 = DISKMAGIC;
+ lp->d_checksum = dkcksum(lp);
/*
* Call the generic disklabel extraction routine
*/
if (errstring = readdisklabel(MAKESDDEV(0, sd->sc_dev.dv_unit,
- RAW_PART), sdstrategy, &sd->sc_dk.dk_label,
- &sd->sc_dk.dk_cpulabel)) {
+ RAW_PART), sdstrategy, lp, &sd->sc_dk.dk_cpulabel)) {
printf("%s: %s\n", sd->sc_dev.dv_xname, errstring);
return;
}