11#ifndef ZEPHYR_INCLUDE_IRQ_H_
12#define ZEPHYR_INCLUDE_IRQ_H_
48#define IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \
49 ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
66 void (*routine)(
const void *parameter),
111#define IRQ_DIRECT_CONNECT(irq_p, priority_p, isr_p, flags_p) \
112 ARCH_IRQ_DIRECT_CONNECT(irq_p, priority_p, isr_p, flags_p)
121#define ISR_DIRECT_HEADER() ARCH_ISR_DIRECT_HEADER()
138#define ISR_DIRECT_FOOTER(check_reschedule) \
139 ARCH_ISR_DIRECT_FOOTER(check_reschedule)
149#define ISR_DIRECT_PM() ARCH_ISR_DIRECT_PM()
180#define ISR_DIRECT_DECLARE(name) ARCH_ISR_DIRECT_DECLARE(name)
224unsigned int z_smp_global_lock(
void);
225#define irq_lock() z_smp_global_lock()
227#define irq_lock() arch_irq_lock()
254void z_smp_global_unlock(
unsigned int key);
255#define irq_unlock(key) z_smp_global_unlock(key)
257#define irq_unlock(key) arch_irq_unlock(key)
272#if defined(CONFIG_3RD_LEVEL_INTERRUPTS)
273 return ((irq >> 16) & 0xFF) != 0 ? 3 :
274 (((irq >> 8) & 0xFF) == 0 ? 1 : 2);
275#elif defined(CONFIG_2ND_LEVEL_INTERRUPTS)
276 return ((irq >> 8) & 0xFF) == 0 ? 1 : 2;
284#ifdef CONFIG_2ND_LEVEL_INTERRUPTS
296static inline unsigned int irq_from_level_2(
unsigned int irq)
298#ifdef CONFIG_3RD_LEVEL_INTERRUPTS
299 return ((irq >> 8) & 0xFF) - 1;
301 return (irq >> 8) - 1;
317static inline unsigned int irq_to_level_2(
unsigned int irq)
319 return (irq + 1) << 8;
332static inline unsigned int irq_parent_level_2(
unsigned int irq)
338#ifdef CONFIG_3RD_LEVEL_INTERRUPTS
350static inline unsigned int irq_from_level_3(
unsigned int irq)
352 return (irq >> 16) - 1;
367static inline unsigned int irq_to_level_3(
unsigned int irq)
369 return (irq + 1) << 16;
382static inline unsigned int irq_parent_level_3(
unsigned int irq)
384 return (irq >> 8) & 0xFF;
397#define irq_enable(irq) arch_irq_enable(irq)
408#define irq_disable(irq) arch_irq_disable(irq)
419#define irq_is_enabled(irq) arch_irq_is_enabled(irq)
int arch_irq_connect_dynamic(unsigned int irq, unsigned int priority, void(*routine)(const void *parameter), const void *parameter, uint32_t flags)
static unsigned int irq_get_level(unsigned int irq)
Definition: irq.h:270
static int irq_connect_dynamic(unsigned int irq, unsigned int priority, void(*routine)(const void *parameter), const void *parameter, uint32_t flags)
Definition: irq.h:65
flags
Definition: http_parser.h:131
static k_spinlock_key_t key
Definition: spinlock_error_case.c:14
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60