diff options
author | kato <kato@FreeBSD.org> | 1997-03-04 06:39:02 +0000 |
---|---|---|
committer | kato <kato@FreeBSD.org> | 1997-03-04 06:39:02 +0000 |
commit | 054afb4c7e3a6c8940c93716174763f158a6bf81 (patch) | |
tree | a78ba8003f6e356b380788df2e7199f5930ce3ac | |
parent | 0821bb9e0d1a0b19dbd84eb70e17e2c9401117b5 (diff) | |
download | FreeBSD-src-054afb4c7e3a6c8940c93716174763f158a6bf81.zip FreeBSD-src-054afb4c7e3a6c8940c93716174763f158a6bf81.tar.gz |
Fixed devfs code. Old code remained in pc98 tree.
Submitted by: URATA Shuichiro <s-urata@nmit.tmg.nec.co.jp>
-rw-r--r-- | sys/pc98/cbus/fdc.c | 31 | ||||
-rw-r--r-- | sys/pc98/pc98/fd.c | 31 |
2 files changed, 48 insertions, 14 deletions
diff --git a/sys/pc98/cbus/fdc.c b/sys/pc98/cbus/fdc.c index bcde2b1..a545f78 100644 --- a/sys/pc98/cbus/fdc.c +++ b/sys/pc98/cbus/fdc.c @@ -43,7 +43,7 @@ * SUCH DAMAGE. * * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 - * $Id$ + * $Id: fd.c,v 1.16 1997/02/22 09:43:34 peter Exp $ * */ @@ -869,18 +869,12 @@ fdattach(struct isa_device *dev) #endif /* EPSON_NRDISK */ fd->type = FD_1200; fd->pc98_trans = 0; -#ifdef DEVFS - sprintf(name,"rfd%d.1200",fdu); -#endif /* DEVFS */ break; case FDT_144M: printf("1.44M FDD\n"); fd->type = FD_1200; fd->pc98_trans = 0; outb(0x4be, (fdu << 5) | 0x10); -#ifdef DEVFS - sprintf(name,"rfd%d.1440",fdu); -#endif /* DEVFS */ break; #else case RTCFDT_12M: @@ -923,6 +917,21 @@ fdattach(struct isa_device *dev) * XXX this and the lookup in Fdopen() should be * data driven. */ +#ifdef PC98 + switch (fdt) { + case FDT_12M: + if (i != FD_1200 && i != FD_1232 + && i != FD_720 && i != FD_640) + continue; + break; + case FDT_144M: + if (i != FD_1200 && i != FD_1232 + && i != FD_720 && i != FD_640 + && i != FD_1440) + continue; + break; + } +#else switch (fd->type) { case FD_360: if (i != FD_360) @@ -945,7 +954,14 @@ fdattach(struct isa_device *dev) continue; break; } +#endif typemynor = mynor | i; +#ifdef PC98 + if (i == FD_1232) + typesize = fd_types[i - 1].size; + else + typesize = fd_types[i - 1].size / 2; +#else typesize = fd_types[i - 1].size / 2; /* * XXX all these conversions give bloated code and @@ -955,6 +971,7 @@ fdattach(struct isa_device *dev) typesize = 1480; if (typesize == 1722) typesize = 1720; +#endif fd->bdevs[i] = devfs_add_devswf(&fd_bdevsw, typemynor, DV_BLK, UID_ROOT, GID_OPERATOR, 0640, diff --git a/sys/pc98/pc98/fd.c b/sys/pc98/pc98/fd.c index bcde2b1..a545f78 100644 --- a/sys/pc98/pc98/fd.c +++ b/sys/pc98/pc98/fd.c @@ -43,7 +43,7 @@ * SUCH DAMAGE. * * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 - * $Id$ + * $Id: fd.c,v 1.16 1997/02/22 09:43:34 peter Exp $ * */ @@ -869,18 +869,12 @@ fdattach(struct isa_device *dev) #endif /* EPSON_NRDISK */ fd->type = FD_1200; fd->pc98_trans = 0; -#ifdef DEVFS - sprintf(name,"rfd%d.1200",fdu); -#endif /* DEVFS */ break; case FDT_144M: printf("1.44M FDD\n"); fd->type = FD_1200; fd->pc98_trans = 0; outb(0x4be, (fdu << 5) | 0x10); -#ifdef DEVFS - sprintf(name,"rfd%d.1440",fdu); -#endif /* DEVFS */ break; #else case RTCFDT_12M: @@ -923,6 +917,21 @@ fdattach(struct isa_device *dev) * XXX this and the lookup in Fdopen() should be * data driven. */ +#ifdef PC98 + switch (fdt) { + case FDT_12M: + if (i != FD_1200 && i != FD_1232 + && i != FD_720 && i != FD_640) + continue; + break; + case FDT_144M: + if (i != FD_1200 && i != FD_1232 + && i != FD_720 && i != FD_640 + && i != FD_1440) + continue; + break; + } +#else switch (fd->type) { case FD_360: if (i != FD_360) @@ -945,7 +954,14 @@ fdattach(struct isa_device *dev) continue; break; } +#endif typemynor = mynor | i; +#ifdef PC98 + if (i == FD_1232) + typesize = fd_types[i - 1].size; + else + typesize = fd_types[i - 1].size / 2; +#else typesize = fd_types[i - 1].size / 2; /* * XXX all these conversions give bloated code and @@ -955,6 +971,7 @@ fdattach(struct isa_device *dev) typesize = 1480; if (typesize == 1722) typesize = 1720; +#endif fd->bdevs[i] = devfs_add_devswf(&fd_bdevsw, typemynor, DV_BLK, UID_ROOT, GID_OPERATOR, 0640, |