diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2004-02-18 21:36:53 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2004-02-18 21:36:53 +0000 |
| commit | 0b7ed341e106c1583e873116529015d2ae042fd0 (patch) | |
| tree | 16cf67c25fa19d01be97b31241d2c56e85a88674 /sys/dev/ofw | |
| parent | f63503fcbb7a5b0e118435058a2d2c56f1083252 (diff) | |
Notes
Diffstat (limited to 'sys/dev/ofw')
| -rw-r--r-- | sys/dev/ofw/ofw_disk.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/sys/dev/ofw/ofw_disk.c b/sys/dev/ofw/ofw_disk.c index 8d4ae8238157..f3e143a731cb 100644 --- a/sys/dev/ofw/ofw_disk.c +++ b/sys/dev/ofw/ofw_disk.c @@ -48,7 +48,7 @@ __FBSDID("$FreeBSD$"); struct ofwd_softc { device_t ofwd_dev; - struct disk ofwd_disk; + struct disk *ofwd_disk; phandle_t ofwd_package; ihandle_t ofwd_instance; }; @@ -203,15 +203,18 @@ ofwd_attach(device_t dev) return (ENXIO); } - sc->ofwd_disk.d_strategy = ofwd_strategy; - sc->ofwd_disk.d_name = "ofwd"; - sc->ofwd_disk.d_sectorsize = OFWD_BLOCKSIZE; - sc->ofwd_disk.d_mediasize = (off_t)33554432 * OFWD_BLOCKSIZE; - sc->ofwd_disk.d_fwsectors = 0; - sc->ofwd_disk.d_fwheads = 0; - sc->ofwd_disk.d_drv1 = sc; - sc->ofwd_disk.d_maxsize = PAGE_SIZE; - disk_create(device_get_unit(dev), &sc->ofwd_disk, 0, NULL, NULL); + sc->ofwd_disk = disk_alloc(); + sc->ofwd_disk->d_strategy = ofwd_strategy; + sc->ofwd_disk->d_name = "ofwd"; + sc->ofwd_disk->d_sectorsize = OFWD_BLOCKSIZE; + sc->ofwd_disk->d_mediasize = (off_t)33554432 * OFWD_BLOCKSIZE; + sc->ofwd_disk->d_fwsectors = 0; + sc->ofwd_disk->d_fwheads = 0; + sc->ofwd_disk->d_drv1 = sc; + sc->ofwd_disk->d_maxsize = PAGE_SIZE; + sc->ofwd_disk->d_unit = device_get_unit(dev); + sc->ofwd_disk->d_flags = DISKFLAG_NEEDSGIANT; + disk_create(sc->ofwd_disk, DISK_VERSION); return (0); } |
