summaryrefslogtreecommitdiffstats
path: root/sys/dev/puc
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-09-03 11:22:13 +0000
committerphk <phk@FreeBSD.org>2002-09-03 11:22:13 +0000
commitbaf5e09769325c8052d162b3876f92ec50e473c5 (patch)
treeeb2c4f82a3508d4a5d706a709412f0998e6f5c31 /sys/dev/puc
parent3ab89715228e91e4632682c442fb2a6f4ff7956a (diff)
downloadFreeBSD-src-baf5e09769325c8052d162b3876f92ec50e473c5.zip
FreeBSD-src-baf5e09769325c8052d162b3876f92ec50e473c5.tar.gz
Fix interrupt registration:
PUC devices live on pccard or pci so INTR_FAST is never really an option. Don't try to register the interrupt as fast and don't allow the children to do so either.
Diffstat (limited to 'sys/dev/puc')
-rw-r--r--sys/dev/puc/puc.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/sys/dev/puc/puc.c b/sys/dev/puc/puc.c
index 708239d..919c3dc5 100644
--- a/sys/dev/puc/puc.c
+++ b/sys/dev/puc/puc.c
@@ -159,15 +159,8 @@ puc_attach(device_t dev, const struct puc_device_description *desc)
sc->irqres = res;
sc->irqrid = rid;
-#ifdef PUC_FASTINTR
irq_setup = BUS_SETUP_INTR(device_get_parent(dev), dev, res,
- INTR_TYPE_TTY | INTR_FAST, puc_intr, sc, &sc->intr_cookie);
-#else
- irq_setup = ENXIO;
-#endif
- if (irq_setup != 0)
- irq_setup = BUS_SETUP_INTR(device_get_parent(dev), dev, res,
- INTR_TYPE_TTY, puc_intr, sc, &sc->intr_cookie);
+ INTR_TYPE_TTY, puc_intr, sc, &sc->intr_cookie);
if (irq_setup != 0)
return (ENXIO);
@@ -457,7 +450,8 @@ puc_setup_intr(device_t dev, device_t child, struct resource *r, int flags,
int i;
struct puc_softc *sc;
-printf("puc_setup_intr()\n");
+ if (flags & INTR_FAST)
+ return (ENXIO);
sc = (struct puc_softc *)device_get_softc(dev);
for (i = 0; PUC_PORT_VALID(sc->sc_desc, i); i++) {
if (sc->sc_ports[i].dev == child) {
@@ -479,7 +473,6 @@ puc_teardown_intr(device_t dev, device_t child, struct resource *r,
int i;
struct puc_softc *sc;
-printf("puc_teardown_intr()\n");
sc = (struct puc_softc *)device_get_softc(dev);
for (i = 0; PUC_PORT_VALID(sc->sc_desc, i); i++) {
if (sc->sc_ports[i].dev == child) {
OpenPOWER on IntegriCloud