summaryrefslogtreecommitdiffstats
path: root/sys/arm/include/intr.h
diff options
context:
space:
mode:
authorraj <raj@FreeBSD.org>2008-09-11 12:36:13 +0000
committerraj <raj@FreeBSD.org>2008-09-11 12:36:13 +0000
commitdf986188e9cc833240ca7eb2dd62a649ea5dc33a (patch)
tree42c4a1699b503244b7e33f5a53810449a27be094 /sys/arm/include/intr.h
parent30165fb1e191c6ee2d68f8621f73d606ae402ebd (diff)
downloadFreeBSD-src-df986188e9cc833240ca7eb2dd62a649ea5dc33a.zip
FreeBSD-src-df986188e9cc833240ca7eb2dd62a649ea5dc33a.tar.gz
ARM interrupts improvements.
- Fix nexus_setup_intr() abuse of setting up multiple IRQs in one go. Calling arm_setup_irqhandler() in loop is bogus, as there's just one cookie given from the caller and it is overwritten in each iteration so that only the last handler's cookie value prevails. - Proper intr masking/unmasking handling: the IRQ source is masked at PIC level only after the last handler has been removed from the list. Reviewed by: cognet, imp, sam, stass Obtained from: Grzegorz Bernacki gjb ! semihalf dot com
Diffstat (limited to 'sys/arm/include/intr.h')
-rw-r--r--sys/arm/include/intr.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/include/intr.h b/sys/arm/include/intr.h
index a41b214..bf2bf6d 100644
--- a/sys/arm/include/intr.h
+++ b/sys/arm/include/intr.h
@@ -57,6 +57,6 @@ void arm_mask_irq(uintptr_t);
void arm_unmask_irq(uintptr_t);
void arm_setup_irqhandler(const char *, int (*)(void*), void (*)(void*),
void *, int, int, void **);
-int arm_remove_irqhandler(void *);
+int arm_remove_irqhandler(int, void *);
extern void (*arm_post_filter)(void *);
#endif /* _MACHINE_INTR_H */
OpenPOWER on IntegriCloud