diff options
author | mdodd <mdodd@FreeBSD.org> | 1999-08-01 22:57:09 +0000 |
---|---|---|
committer | mdodd <mdodd@FreeBSD.org> | 1999-08-01 22:57:09 +0000 |
commit | c790088cf6511de19be83cd5a1ca24ad896d2be1 (patch) | |
tree | 62ea067550649b36861238bc9f0b86abd784376b /sys/dev/vx | |
parent | 6a572156072aa10677fe402b5b7995b0754131d6 (diff) | |
download | FreeBSD-src-c790088cf6511de19be83cd5a1ca24ad896d2be1.zip FreeBSD-src-c790088cf6511de19be83cd5a1ca24ad896d2be1.tar.gz |
Move the specification of EDGE/LEVEL triggered interrupts to
eisa_add_intr() which now takes an additional arguement (one of
EISA_TRIGGER_LEVEL or EISA_TRIGGER_EDGE).
The flag RR_SHAREABLE has no effect when passed to
bus_alloc_resource(dev, SYS_RES_IRQ, ...) in an EISA device context as
the eisa_alloc_resource() call (bus_alloc_resource method) now deals
with this flag directly, depending on the device ivars.
This change does nothing more than move all the 'shared = inb(foo + iobsse)'
nonesense to the device probe methods rather than the device attach.
Also, print out 'edge' or 'level' in the IRQ announcement message.
Reviewed by: dfr
Diffstat (limited to 'sys/dev/vx')
-rw-r--r-- | sys/dev/vx/if_vx_eisa.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/vx/if_vx_eisa.c b/sys/dev/vx/if_vx_eisa.c index 03e50a3..150e573 100644 --- a/sys/dev/vx/if_vx_eisa.c +++ b/sys/dev/vx/if_vx_eisa.c @@ -106,7 +106,8 @@ vx_eisa_probe(device_t dev) eisa_add_iospace(dev, port, VX_IOSIZE, RESVADDR_NONE); /* Set irq */ - eisa_add_intr(dev, inw(iobase + VX_RESOURCE_CONFIG) >> 12); + eisa_add_intr(dev, inw(iobase + VX_RESOURCE_CONFIG) >> 12, + EISA_TRIGGER_EDGE); return (0); } @@ -119,7 +120,6 @@ vx_eisa_attach(device_t dev) struct resource *io = 0; struct resource *eisa_io = 0; struct resource *irq = 0; - u_char level_intr; int rid; void *ih; @@ -149,8 +149,6 @@ vx_eisa_attach(device_t dev) sc->vx_io_addr = rman_get_start(io); - level_intr = FALSE; - rid = 0; irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE); |