From 79cdf33579802f252e8f5b9a64693bf75de25dd2 Mon Sep 17 00:00:00 2001 From: Vinayak Chettimada Date: Sat, 10 Sep 2016 12:38:36 +0200 Subject: [PATCH] ARM: irq: Add _arch_irq_is_enabled external interrupt API Add _arch_irq_is_enabled external interrupt API to find out if an IRQ is enabled. Change-id: I8ccbaa6d4640c1ab8369d2d35c01a2cfbb02f6cd Signed-off-by: Vinayak Chettimada --- arch/arm/core/irq_manage.c | 11 +++++++++++ include/arch/arm/cortex_m/irq.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/arch/arm/core/irq_manage.c b/arch/arm/core/irq_manage.c index c97e51dc361..39dd41464d6 100644 --- a/arch/arm/core/irq_manage.c +++ b/arch/arm/core/irq_manage.c @@ -63,6 +63,17 @@ void _arch_irq_disable(unsigned int irq) _NvicIrqDisable(irq); } +/** + * @brief Return IRQ enable state + * + * @param irq IRQ line + * @return interrupt enable state, true or false + */ +int _arch_irq_is_enabled(unsigned int irq) +{ + return _NvicIsIrqEnabled(irq); +} + /** * @internal * diff --git a/include/arch/arm/cortex_m/irq.h b/include/arch/arm/cortex_m/irq.h index b25d26d0806..6019bda238e 100644 --- a/include/arch/arm/cortex_m/irq.h +++ b/include/arch/arm/cortex_m/irq.h @@ -36,9 +36,11 @@ extern "C" { GTEXT(_IntExit); GTEXT(_arch_irq_enable) GTEXT(_arch_irq_disable) +GTEXT(_arch_irq_is_enabled) #else extern void _arch_irq_enable(unsigned int irq); extern void _arch_irq_disable(unsigned int irq); +extern int _arch_irq_is_enabled(unsigned int irq); extern void _IntExit(void);