summaryrefslogtreecommitdiffstats
path: root/sys/alpha/isa
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2000-05-10 18:54:28 +0000
committerjhb <jhb@FreeBSD.org>2000-05-10 18:54:28 +0000
commita1a769d93e6080bab3ab2c67906c3d2586e16aed (patch)
tree39d188bd68492c613fb72d7deeb3187c6473250e /sys/alpha/isa
parentb1c5277216ac06bbdbf908c1fb8d2080a48c793e (diff)
downloadFreeBSD-src-a1a769d93e6080bab3ab2c67906c3d2586e16aed.zip
FreeBSD-src-a1a769d93e6080bab3ab2c67906c3d2586e16aed.tar.gz
Handle PCI devices that actually use an ISA IRQ for the cia and tsunami
chipsets. An example of this is the USB controller on these chipsets. With this, I can now use USB devices on the test Alpha I am borrowing at the moment. Reviewed by: dfr, obrien
Diffstat (limited to 'sys/alpha/isa')
-rw-r--r--sys/alpha/isa/isa.c7
-rw-r--r--sys/alpha/isa/isavar.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/sys/alpha/isa/isa.c b/sys/alpha/isa/isa.c
index c757b77..eee09dd 100644
--- a/sys/alpha/isa/isa.c
+++ b/sys/alpha/isa/isa.c
@@ -136,6 +136,13 @@ isa_alloc_intr(device_t bus, device_t child, int irq)
0, child);
}
+struct resource *
+isa_alloc_intrs(device_t bus, device_t child, u_long start, u_long end)
+{
+ return rman_reserve_resource(&isa_irq_rman, start, end,
+ end - start + 1, 0, child);
+}
+
int
isa_release_intr(device_t bus, device_t child, struct resource *r)
{
diff --git a/sys/alpha/isa/isavar.h b/sys/alpha/isa/isavar.h
index a77cb35..6f101d3 100644
--- a/sys/alpha/isa/isavar.h
+++ b/sys/alpha/isa/isavar.h
@@ -32,6 +32,8 @@
*/
void isa_init_intr(void);
struct resource *isa_alloc_intr(device_t bus, device_t child, int irq);
+struct resource *isa_alloc_intrs(device_t bus, device_t child, u_long start,
+ u_long end);
int isa_release_intr(device_t bus, device_t child, struct resource *r);
int isa_setup_intr(device_t dev, device_t child,
struct resource *irq, int flags,
OpenPOWER on IntegriCloud