53c53
< * $FreeBSD: head/sys/pc98/cbus/fdc.c 132210 2004-07-15 15:00:02Z nyan $
---
> * $FreeBSD: head/sys/pc98/cbus/fdc.c 132286 2004-07-17 10:07:19Z nyan $
357d356
< static void fdc_add_child(device_t, const char *, int);
763a763,767
> if (fdc->fdc_intr) {
> BUS_TEARDOWN_INTR(device_get_parent(dev), dev, fdc->res_irq,
> fdc->fdc_intr);
> fdc->fdc_intr = NULL;
> }
768a773
> fdc->res_irq = NULL;
775a781
> fdc->res_ctl = NULL;
782a789
> fdc->res_fdsio = NULL;
787a795
> fdc->res_fdemsio = NULL;
794a803
> fdc->res_ioport = NULL;
800a810
> fdc->res_drq = NULL;
886,893d895
< if ((fdc->flags & FDC_ATTACHED) == 0) {
< device_printf(dev, "already unloaded\n");
< return (0);
< }
< fdc->flags &= ~FDC_ATTACHED;
<
< BUS_TEARDOWN_INTR(device_get_parent(dev), dev, fdc->res_irq,
< fdc->fdc_intr);
901c903
< static void
---
> device_t
904c906
< int fdu, flags;
---
> int flags;
910c912
< return;
---
> return (NULL);
914c916
< return;
---
> return (NULL);
917,920c919,920
< if (resource_int_value(name, unit, "drive", &fdu) != 0)
< fdu = 0;
< fdc_set_fdunit(child, fdu);
< fdc_set_fdtype(child, FDT_NONE);
---
> ivar->fdunit = unit;
> ivar->fdtype = FDT_NONE;
924a925
> return (child);
931,932c932
< const char *name, *dname;
< int i, dunit, error;
---
> int error;
944c944
< fdc->flags |= FDC_ATTACHED | FDC_NEEDS_RESET;
---
> fdc->flags |= FDC_NEEDS_RESET;
956a957,965
> return (0);
> }
>
> int
> fdc_hints_probe(device_t dev)
> {
> const char *name, *dname;
> int i, error, dunit;
>
963c972,973
< while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0)
---
> while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0) {
> resource_int_value(dname, dunit, "drive", &dunit);
964a975
> }
968d978
<
1012,1013d1021
< type = FD_DTYPE(flags);
<
1014a1023
> type = FD_DTYPE(flags);
1108c1117
< /* This doesn't work before the first reset. Or set_motor?? */
---
> /* This doesn't work before the first reset. */
< * $FreeBSD: head/sys/pc98/cbus/fdc.c 132210 2004-07-15 15:00:02Z nyan $
---
> * $FreeBSD: head/sys/pc98/cbus/fdc.c 132286 2004-07-17 10:07:19Z nyan $
357d356
< static void fdc_add_child(device_t, const char *, int);
763a763,767
> if (fdc->fdc_intr) {
> BUS_TEARDOWN_INTR(device_get_parent(dev), dev, fdc->res_irq,
> fdc->fdc_intr);
> fdc->fdc_intr = NULL;
> }
768a773
> fdc->res_irq = NULL;
775a781
> fdc->res_ctl = NULL;
782a789
> fdc->res_fdsio = NULL;
787a795
> fdc->res_fdemsio = NULL;
794a803
> fdc->res_ioport = NULL;
800a810
> fdc->res_drq = NULL;
886,893d895
< if ((fdc->flags & FDC_ATTACHED) == 0) {
< device_printf(dev, "already unloaded\n");
< return (0);
< }
< fdc->flags &= ~FDC_ATTACHED;
<
< BUS_TEARDOWN_INTR(device_get_parent(dev), dev, fdc->res_irq,
< fdc->fdc_intr);
901c903
< static void
---
> device_t
904c906
< int fdu, flags;
---
> int flags;
910c912
< return;
---
> return (NULL);
914c916
< return;
---
> return (NULL);
917,920c919,920
< if (resource_int_value(name, unit, "drive", &fdu) != 0)
< fdu = 0;
< fdc_set_fdunit(child, fdu);
< fdc_set_fdtype(child, FDT_NONE);
---
> ivar->fdunit = unit;
> ivar->fdtype = FDT_NONE;
924a925
> return (child);
931,932c932
< const char *name, *dname;
< int i, dunit, error;
---
> int error;
944c944
< fdc->flags |= FDC_ATTACHED | FDC_NEEDS_RESET;
---
> fdc->flags |= FDC_NEEDS_RESET;
956a957,965
> return (0);
> }
>
> int
> fdc_hints_probe(device_t dev)
> {
> const char *name, *dname;
> int i, error, dunit;
>
963c972,973
< while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0)
---
> while ((resource_find_match(&i, &dname, &dunit, "at", name)) == 0) {
> resource_int_value(dname, dunit, "drive", &dunit);
964a975
> }
968d978
<
1012,1013d1021
< type = FD_DTYPE(flags);
<
1014a1023
> type = FD_DTYPE(flags);
1108c1117
< /* This doesn't work before the first reset. Or set_motor?? */
---
> /* This doesn't work before the first reset. */