Lines Matching defs:rd
180 CFATTACH_DECL_NEW(rd, sizeof(struct rdsoftc),
270 aprint_normal ("RD?? at %s drive %d", name, ha->ha_drive);
332 * rdmatch() probes for the existence of a RD-type disk/floppy
353 struct rdsoftc * const rd = device_private(self);
358 rd->sc_dev = self;
359 rd->sc_drive = ha->ha_drive;
360 rd->sc_hdc = sc;
364 disk_init(&rd->sc_disk, device_xname(rd->sc_dev), NULL);
365 disk_attach(&rd->sc_disk);
371 rd_readgeom(sc, rd);
372 disk_printtype(rd->sc_drive, rd->sc_xbn.media_id);
373 dl = rd->sc_disk.dk_label;
374 rdmakelabel(dl, &rd->sc_xbn);
376 device_unit(rd->sc_dev), RAW_PART),
384 hdc_printgeom(&rd->sc_xbn);
445 struct rdsoftc *rd;
450 if ((rd = device_lookup_private(&rd_cd, DISKUNIT(bp->b_dev))) == NULL) {
454 sc = rd->sc_hdc;
456 lp = rd->sc_disk.dk_label;
457 if ((bounds_check_with_label(&rd->sc_disk, bp, 1)) <= 0)
498 struct rdsoftc *rd;
517 rd = device_lookup_private(&rd_cd, DISKUNIT(bp->b_dev));
518 hdc_rdselect(sc, rd->sc_drive);
522 lp = rd->sc_disk.dk_label;
571 rd_readgeom(struct hdcsoftc *sc, struct rdsoftc *rd)
575 hdc_rdselect(sc, rd->sc_drive); /* select drive right now */
588 memcpy(&rd->sc_xbn, sc->sc_dmabase, sizeof(struct rdgeom));
618 struct rdsoftc * const rd = device_lookup_private(&rd_cd, DISKUNIT(dev));
621 if (rd == NULL || part >= rd->sc_disk.dk_label->d_npartitions)
624 return rd->sc_disk.dk_label->d_partitions[part].p_size *
625 (rd->sc_disk.dk_label->d_secsize / DEV_BSIZE);
634 struct rdsoftc * const rd = device_lookup_private(&rd_cd, DISKUNIT(dev));
637 if (rd == NULL || part >= rd->sc_disk.dk_label->d_npartitions)
642 rd->sc_disk.dk_copenmask |= (1 << part);
645 rd->sc_disk.dk_bopenmask |= (1 << part);
648 rd->sc_disk.dk_openmask =
649 rd->sc_disk.dk_copenmask | rd->sc_disk.dk_bopenmask;
660 struct rdsoftc * const rd = device_lookup_private(&rd_cd, DISKUNIT(dev));
665 rd->sc_disk.dk_copenmask &= ~(1 << part);
668 rd->sc_disk.dk_bopenmask &= ~(1 << part);
671 rd->sc_disk.dk_openmask =
672 rd->sc_disk.dk_copenmask | rd->sc_disk.dk_bopenmask;
683 struct rdsoftc * const rd = device_lookup_private(&rd_cd, DISKUNIT(dev));
684 struct disklabel * const lp = rd->sc_disk.dk_label;
687 error = disk_ioctl(&rd->sc_disk, dev, cmd, addr, flag, l);
705 rdmakelabel(lp, &rd->sc_xbn);