Hide the use of config_interrupts() in one place.

This commit is contained in:
mycroft 2003-09-25 19:29:48 +00:00
parent 864b96269c
commit eefae40298
22 changed files with 91 additions and 66 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_pioc.c,v 1.8 2003/09/19 21:35:56 mycroft Exp $ */
/* $NetBSD: wdc_pioc.c,v 1.9 2003/09/25 19:29:48 mycroft Exp $ */
/*
* Copyright (c) 1997-1998 Mark Brinicombe.
@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_pioc.c,v 1.8 2003/09/19 21:35:56 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_pioc.c,v 1.9 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -168,7 +168,7 @@ wdc_pioc_attach(parent, self, aux)
return;
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/* End of wdc_pioc.c */

View File

@ -1,4 +1,4 @@
/* $NetBSD: icside.c,v 1.12 2003/09/24 07:15:52 mycroft Exp $ */
/* $NetBSD: icside.c,v 1.13 2003/09/25 19:29:48 mycroft Exp $ */
/*
* Copyright (c) 1997-1998 Mark Brinicombe
@ -42,7 +42,7 @@
#include <sys/param.h>
__KERNEL_RCSID(0, "$NetBSD: icside.c,v 1.12 2003/09/24 07:15:52 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: icside.c,v 1.13 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/systm.h>
#include <sys/conf.h>
@ -305,7 +305,7 @@ icside_attach(struct device *parent, struct device *self, void *aux)
/* Enable interrupts */
bus_space_write_1(iot, icp->ic_irqioh, 0, 0);
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/*

View File

@ -1,4 +1,4 @@
/* $NetBSD: rapide.c,v 1.11 2003/09/24 07:15:52 mycroft Exp $ */
/* $NetBSD: rapide.c,v 1.12 2003/09/25 19:29:48 mycroft Exp $ */
/*
* Copyright (c) 1997-1998 Mark Brinicombe
@ -68,7 +68,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rapide.c,v 1.11 2003/09/24 07:15:52 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: rapide.c,v 1.12 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -305,7 +305,7 @@ rapide_attach(parent, self, aux)
IRQ_MASK_REGISTER_OFFSET, sc->sc_intr_enable_mask);
/* XXX - Issue 1 cards will need to clear any pending interrupts */
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/*

View File

@ -1,4 +1,4 @@
/* $NetBSD: simide.c,v 1.10 2003/09/24 07:15:52 mycroft Exp $ */
/* $NetBSD: simide.c,v 1.11 2003/09/25 19:29:48 mycroft Exp $ */
/*
* Copyright (c) 1997-1998 Mark Brinicombe
@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: simide.c,v 1.10 2003/09/24 07:15:52 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: simide.c,v 1.11 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -293,7 +293,7 @@ simide_attach(parent, self, aux)
bus_space_write_1(sc->sc_ctliot, sc->sc_ctlioh,
CONTROL_REGISTER_OFFSET, sc->sc_ctl_reg);
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/*

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_amiga.c,v 1.11 2003/09/19 21:35:57 mycroft Exp $ */
/* $NetBSD: wdc_amiga.c,v 1.12 2003/09/25 19:29:48 mycroft Exp $ */
/*-
* Copyright (c) 2000, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_amiga.c,v 1.11 2003/09/19 21:35:57 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_amiga.c,v 1.12 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/types.h>
#include <sys/param.h>
@ -142,7 +142,7 @@ wdc_amiga_attach(struct device *parent, struct device *self, void *aux)
if (sc->sc_a1200)
gayle.intena |= GAYLE_INT_IDE;
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
int

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_mb.c,v 1.13 2003/09/19 21:35:58 mycroft Exp $ */
/* $NetBSD: wdc_mb.c,v 1.14 2003/09/25 19:29:48 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_mb.c,v 1.13 2003/09/19 21:35:58 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_mb.c,v 1.14 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/types.h>
#include <sys/param.h>
@ -193,7 +193,7 @@ wdc_mb_attach(parent, self, aux)
MFP->mf_iprb = (u_int8_t)~IB_DINT;
MFP->mf_imrb |= IB_DINT;
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/*

View File

@ -1,4 +1,4 @@
/* $NetBSD: pciide_pnpbios.c,v 1.8 2003/09/19 21:35:59 mycroft Exp $ */
/* $NetBSD: pciide_pnpbios.c,v 1.9 2003/09/25 19:29:48 mycroft Exp $ */
/*
* Copyright (c) 1999 Soren S. Jorvang. All rights reserved.
@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pciide_pnpbios.c,v 1.8 2003/09/19 21:35:59 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: pciide_pnpbios.c,v 1.9 2003/09/25 19:29:48 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -153,7 +153,7 @@ pciide_pnpbios_attach(parent, self, aux)
cp->ih = pnpbios_intr_establish(aa->pbt, aa->resc, 0, IPL_BIO,
pciide_compat_intr, cp);
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
pciide_channel_dma_setup(cp);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_obio.c,v 1.5 2003/09/19 21:35:59 mycroft Exp $ */
/* $NetBSD: wdc_obio.c,v 1.6 2003/09/25 19:29:49 mycroft Exp $ */
/*
* Copyright (c) 2002 Takeshi Shibagaki All rights reserved.
@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_obio.c,v 1.5 2003/09/19 21:35:59 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_obio.c,v 1.6 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/types.h>
#include <sys/param.h>
@ -227,7 +227,7 @@ wdc_obio_attach(parent, self, aux)
printf("\n");
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
u_int16_t

View File

@ -1,4 +1,4 @@
/* $NetBSD: kauai.c,v 1.4 2003/09/19 21:35:59 mycroft Exp $ */
/* $NetBSD: kauai.c,v 1.5 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 2003 Tsubai Masanari. All rights reserved.
@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: kauai.c,v 1.4 2003/09/19 21:35:59 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: kauai.c,v 1.5 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -180,7 +180,7 @@ kauai_attach(parent, self, aux)
chp->wdc = &sc->sc_wdcdev;
chp->ch_queue = &sc->wdc_queue;
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
void

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_obio.c,v 1.27 2003/09/19 21:35:59 mycroft Exp $ */
/* $NetBSD: wdc_obio.c,v 1.28 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_obio.c,v 1.27 2003/09/19 21:35:59 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_obio.c,v 1.28 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -224,7 +224,7 @@ wdc_obio_attach(parent, self, aux)
out32rb(OHARE_FEATURE_REG, x);
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/* Multiword DMA transfer timings */

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_spd.c,v 1.5 2003/09/19 21:36:00 mycroft Exp $ */
/* $NetBSD: wdc_spd.c,v 1.6 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 2001, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_spd.c,v 1.5 2003/09/19 21:36:00 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_spd.c,v 1.6 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -222,7 +222,7 @@ wdc_spd_attach(struct device *parent, struct device *self, void *aux)
__wdc_spd_enable();
config_interrupts(self, wdcattach);
wdcattach(wdc);
}
void

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_obio.c,v 1.6 2003/09/19 21:36:00 mycroft Exp $ */
/* $NetBSD: wdc_obio.c,v 1.7 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_obio.c,v 1.6 2003/09/19 21:36:00 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_obio.c,v 1.7 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/types.h>
#include <sys/param.h>
@ -145,5 +145,5 @@ wdc_obio_attach(struct device *parent, struct device *self, void *aux)
return;
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc.c,v 1.133 2003/09/25 09:38:09 bouyer Exp $ */
/* $NetBSD: wdc.c,v 1.134 2003/09/25 19:29:49 mycroft Exp $ */
/*
* Copyright (c) 1998, 2001 Manuel Bouyer. All rights reserved.
@ -70,7 +70,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc.c,v 1.133 2003/09/25 09:38:09 bouyer Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc.c,v 1.134 2003/09/25 19:29:49 mycroft Exp $");
#ifndef WDCDEBUG
#define WDCDEBUG
@ -142,6 +142,7 @@ void __wdccommand_done __P((struct channel_softc *, struct wdc_xfer *));
void __wdccommand_start __P((struct channel_softc *, struct wdc_xfer *));
int __wdccommand_intr __P((struct channel_softc *, struct wdc_xfer *, int));
int wdprint __P((void *, const char *));
void wdc_finish_attach __P((struct device *));
void wdc_channel_attach __P((struct channel_softc *));
#define DEBUG_INTR 0x01
@ -354,7 +355,15 @@ wdcprobe(chp)
}
void
wdcattach(self)
wdcattach(wdc)
struct wdc_softc *wdc;
{
config_interrupts(&wdc->sc_dev, wdc_finish_attach);
}
void
wdc_finish_attach(self)
struct device *self;
{
struct wdc_softc *wdc = (void *)self;
@ -1423,6 +1432,22 @@ __wdccommand_start(chp, xfer)
}
wdccommand(chp, drive, wdc_c->r_command, wdc_c->r_cyl, wdc_c->r_head,
wdc_c->r_sector, wdc_c->r_count, wdc_c->r_precomp);
#if 0
if (wdc_c->r_command == WDCC_IDENTIFY) {
/*
* This is an IDENTIFY command. Do an immediate poll of the
* status to try to determine if there's actually a device
* there. Since this is a data-bearing command, it should go
* to either BSY or DRQ within 400ns.
*/
delay(10); /* 400ns delay */
if ((bus_space_read_1(chp->ctl_iot, chp->ctl_ioh, wd_aux_altsts) &
(WDCS_BSY | WDCS_DRQ | WDCS_ERR)) == 0) {
__wdccommand_intr(chp, xfer, 0);
return;
}
}
#endif
if ((wdc_c->flags & AT_POLL) == 0) {
chp->ch_flags |= WDCF_IRQ_WAIT; /* wait for interrupt */
callout_reset(&chp->ch_callout, wdc_c->timeout / 1000 * hz,
@ -1433,7 +1458,7 @@ __wdccommand_start(chp, xfer)
* Polled command. Wait for drive ready or drq. Done in intr().
* Wait for at last 400ns for status bit to be valid.
*/
delay(10);
delay(10); /* 400ns delay */
__wdccommand_intr(chp, xfer, 0);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_upc.c,v 1.7 2003/09/19 21:36:03 mycroft Exp $ */
/* $NetBSD: wdc_upc.c,v 1.8 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 2000 Ben Harris
* All rights reserved.
@ -28,7 +28,7 @@
/* This file is part of NetBSD/arm26 -- a port of NetBSD to ARM2/3 machines. */
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_upc.c,v 1.7 2003/09/19 21:36:03 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_upc.c,v 1.8 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/device.h>
@ -95,5 +95,5 @@ wdc_upc_attach(struct device *parent, struct device *self, void *aux)
printf("\n");
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdc);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdcvar.h,v 1.39 2003/09/23 09:19:23 mycroft Exp $ */
/* $NetBSD: wdcvar.h,v 1.40 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -181,7 +181,7 @@ struct wdc_xfer {
*/
int wdcprobe __P((struct channel_softc *));
void wdcattach __P((struct device *));
void wdcattach __P((struct wdc_softc *));
int wdcdetach __P((struct device *, int));
int wdcactivate __P((struct device *, enum devact));
int wdcintr __P((void *));

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_isa.c,v 1.34 2003/09/23 09:19:24 mycroft Exp $ */
/* $NetBSD: wdc_isa.c,v 1.35 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_isa.c,v 1.34 2003/09/23 09:19:24 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_isa.c,v 1.35 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -196,7 +196,7 @@ wdc_isa_attach(parent, self, aux)
printf("\n");
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
#if 0

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_isapnp.c,v 1.20 2003/09/19 21:36:04 mycroft Exp $ */
/* $NetBSD: wdc_isapnp.c,v 1.21 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_isapnp.c,v 1.20 2003/09/19 21:36:04 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_isapnp.c,v 1.21 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -158,7 +158,7 @@ wdc_isapnp_attach(parent, self, aux)
sc->wdc_channel.wdc = &sc->sc_wdcdev;
sc->wdc_channel.ch_queue = &sc->wdc_chqueue;
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
#ifdef notyet

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_ofisa.c,v 1.13 2003/09/19 21:36:05 mycroft Exp $ */
/* $NetBSD: wdc_ofisa.c,v 1.14 2003/09/25 19:29:49 mycroft Exp $ */
/*
* Copyright 1997, 1998
@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_ofisa.c,v 1.13 2003/09/19 21:36:05 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_ofisa.c,v 1.14 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/device.h>
@ -155,7 +155,7 @@ wdc_ofisa_attach(parent, self, aux)
sc->wdc_channel.wdc = &sc->sc_wdcdev;
sc->wdc_channel.ch_queue = &sc->wdc_chqueue;
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
#if 0
printf("%s: registers: ", sc->sc_dev.dv_xname);

View File

@ -1,4 +1,4 @@
/* $NetBSD: pciide.c,v 1.205 2003/09/23 09:19:24 mycroft Exp $ */
/* $NetBSD: pciide.c,v 1.206 2003/09/25 19:29:49 mycroft Exp $ */
/*
@ -76,7 +76,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pciide.c,v 1.205 2003/09/23 09:19:24 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: pciide.c,v 1.206 2003/09/25 19:29:49 mycroft Exp $");
#ifndef WDCDEBUG
#define WDCDEBUG
@ -841,7 +841,7 @@ pciide_attach(parent, self, aux)
WDCDEBUG_PRINT(("pciide: command/status register=%x\n",
pci_conf_read(pc, tag, PCI_COMMAND_STATUS_REG)), DEBUG_PROBE);
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdcdev);
}
/* tell whether the chip is enabled or not */

View File

@ -1,4 +1,4 @@
/* $NetBSD: wdc_pcmcia.c,v 1.58 2003/09/23 09:19:25 mycroft Exp $ */
/* $NetBSD: wdc_pcmcia.c,v 1.59 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 1998, 2003 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: wdc_pcmcia.c,v 1.58 2003/09/23 09:19:25 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: wdc_pcmcia.c,v 1.59 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
#include <sys/device.h>
@ -377,7 +377,7 @@ wdc_pcmcia_attach(parent, self, aux)
wdc_pcmcia_enable;
sc->sc_flags |= WDC_PCMCIA_ATTACH;
wdcattach(self);
wdcattach(&sc->sc_wdcdev);
sc->sc_flags &= ~WDC_PCMCIA_ATTACH;
return;

View File

@ -1,4 +1,4 @@
/* $NetBSD: dtide.c,v 1.9 2003/09/19 21:36:08 mycroft Exp $ */
/* $NetBSD: dtide.c,v 1.10 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 2000, 2001 Ben Harris
@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: dtide.c,v 1.9 2003/09/19 21:36:08 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: dtide.c,v 1.10 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
@ -108,5 +108,5 @@ dtide_attach(struct device *parent, struct device *self, void *aux)
&sc->sc_chan[i].ctl_ioh);
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdc);
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: hcide.c,v 1.6 2003/09/19 21:36:08 mycroft Exp $ */
/* $NetBSD: hcide.c,v 1.7 2003/09/25 19:29:49 mycroft Exp $ */
/*-
* Copyright (c) 2000, 2001 Ben Harris
@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: hcide.c,v 1.6 2003/09/19 21:36:08 mycroft Exp $");
__KERNEL_RCSID(0, "$NetBSD: hcide.c,v 1.7 2003/09/25 19:29:49 mycroft Exp $");
#include <sys/param.h>
@ -103,5 +103,5 @@ hcide_attach(struct device *parent, struct device *self, void *aux)
&sc->sc_chan[i].ctl_ioh);
}
config_interrupts(self, wdcattach);
wdcattach(&sc->sc_wdc);
}