summaryrefslogtreecommitdiff
path: root/include/irq.h
diff options
context:
space:
mode:
authorAndrew Boie <andrew.p.boie@intel.com>2016-03-28 14:49:37 -0700
committerBenjamin Walsh <benjamin.walsh@windriver.com>2016-04-15 16:02:12 +0000
commit15800ce78a5e881250ab1d9caa522d3f6d1f9eb5 (patch)
treed30568b320d2f6e8d77ec7b145f3309d8ac4f963 /include/irq.h
parenta83f895dd5eb815cf254f699680c7ab1903f462b (diff)
nanokernel: deprecate dynamic IRQs
We have not found any use-cases for dynamic IRQs where a static IRQ did not also suffice. Deprecate so that we can eventually remove from Zephyr and nontrivially decrease the complexity of the kernel. Change-Id: I509655371773aeaca7d01134dd850eb4cd95f387 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Diffstat (limited to 'include/irq.h')
-rw-r--r--include/irq.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/include/irq.h b/include/irq.h
index 62e008553..e380fe63a 100644
--- a/include/irq.h
+++ b/include/irq.h
@@ -24,6 +24,11 @@
/* Pull in the arch-specific implementations */
#include <arch/cpu.h>
+#ifndef _ASMLANGUAGE
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* Configure a static interrupt.
*
@@ -52,9 +57,18 @@
*
* @return The vector assigned to this interrupt
*/
-#define irq_connect_dynamic(irq_p, priority_p, isr_p, isr_param_p, flags_p) \
- _arch_irq_connect_dynamic(irq_p, priority_p, isr_p, isr_param_p, \
- flags_p)
+extern int _arch_irq_connect_dynamic(unsigned int irq, unsigned int priority,
+ void (*routine)(void *parameter), void *parameter,
+ uint32_t flags);
+
+static inline int __attribute__((deprecated))
+irq_connect_dynamic(unsigned int irq, unsigned int priority,
+ void (*routine)(void *parameter), void *parameter,
+ uint32_t flags)
+{
+ return _arch_irq_connect_dynamic(irq, priority, routine, parameter, flags);
+}
+
/**
@@ -122,5 +136,9 @@
*/
#define irq_disable(irq) _arch_irq_disable(irq)
+#ifdef __cplusplus
+}
+#endif
+#endif /* ASMLANGUAGE */
#endif /* _IRQ_H_ */