aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/subr_bus.c
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2003-09-10 21:37:10 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2003-09-10 21:37:10 +0000
commitda13b8f9fe4db1c3bed3f539bf6cc9a15df55b5b (patch)
treee352891e6c79c2e16bc27caa439f4d033d2c1b9a /sys/kern/subr_bus.c
parent28e0a3843aa8de27ce98c26b7ae7ae549c7c5caa (diff)
downloadsrc-da13b8f9fe4db1c3bed3f539bf6cc9a15df55b5b.tar.gz
src-da13b8f9fe4db1c3bed3f539bf6cc9a15df55b5b.zip
Introduce BUS_CONFIG_INTR(). The method allows devices to tell parents
about interrupt trigger mode and interrupt polarity. This allows ACPI for example to pass interrupt resource information up the hierarchy. The default implementation of the method therefore is to pass the request to the parent. Reviewed by: jhb, njl
Notes
Notes: svn path=/head/; revision=119967
Diffstat (limited to 'sys/kern/subr_bus.c')
-rw-r--r--sys/kern/subr_bus.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index e5f9a98d0c22..7bb7704e0694 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -1926,6 +1926,17 @@ bus_generic_deactivate_resource(device_t dev, device_t child, int type,
}
int
+bus_generic_config_intr(device_t dev, int irq, enum intr_trigger trig,
+ enum intr_polarity pol)
+{
+
+ /* Propagate up the bus hierarchy until someone handles it. */
+ if (dev->parent)
+ return (BUS_CONFIG_INTR(dev->parent, irq, trig, pol));
+ return (EINVAL);
+}
+
+int
bus_generic_rl_get_resource (device_t dev, device_t child, int type, int rid,
u_long *startp, u_long *countp)
{