diff options
author | Andrew Boie <andrew.p.boie@intel.com> | 2016-03-28 14:49:37 -0700 |
---|---|---|
committer | Benjamin Walsh <benjamin.walsh@windriver.com> | 2016-04-15 16:02:12 +0000 |
commit | 15800ce78a5e881250ab1d9caa522d3f6d1f9eb5 (patch) | |
tree | d30568b320d2f6e8d77ec7b145f3309d8ac4f963 /include/irq.h | |
parent | a83f895dd5eb815cf254f699680c7ab1903f462b (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.h | 24 |
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_ */ |