diff options
author | Michal Meloun <mmel@FreeBSD.org> | 2016-05-29 07:39:56 +0000 |
---|---|---|
committer | Michal Meloun <mmel@FreeBSD.org> | 2016-05-29 07:39:56 +0000 |
commit | 74bf497550b35c5705de30b2406740860624a415 (patch) | |
tree | 0227e7f18ef3965b5372f9c104484fa1d359952f /sys/arm | |
parent | 9a81299340d116e73d6ed45bb9a5976beaa4b16d (diff) | |
download | src-74bf497550b35c5705de30b2406740860624a415.tar.gz src-74bf497550b35c5705de30b2406740860624a415.zip |
ARM GIC: Allow to setup interrupt without configuration data.
In some cases, like for PCI devices, only interrupt numbers are enumerated
from HW. In this case, use INTR_foo_CONFORM as level and trigger values.
Notes
Notes:
svn path=/head/; revision=300951
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/gic.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c index cd5e6d70c9e1..d6b2fdfbd72b 100644 --- a/sys/arm/arm/gic.c +++ b/sys/arm/arm/gic.c @@ -1128,8 +1128,11 @@ arm_gic_setup_intr(device_t dev, struct intr_irqsrc *isrc, if (gi->gi_irq != irq) return (EINVAL); - } else - return (ENOTSUP); + } else { + irq = gi->gi_irq; + pol = INTR_POLARITY_CONFORM; + trig = INTR_TRIGGER_CONFORM; + } /* Compare config if this is not first setup. */ if (isrc->isrc_handlers != 0) { |