From f33f888d0e6c5c3f8eb880219bbc87b938832607 Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Fri, 22 Jan 2010 11:57:49 +0100 Subject: sparc: Added function that checks if IRQ is on or off Signed-off-by: Daniel Hellstrom --- arch/sparc/include/asm/irq.h | 3 +++ arch/sparc/lib/interrupts.c | 7 +++++++ 2 files changed, 10 insertions(+) (limited to 'arch/sparc') diff --git a/arch/sparc/include/asm/irq.h b/arch/sparc/include/asm/irq.h index 2faf7a074e..5d0f7564e9 100644 --- a/arch/sparc/include/asm/irq.h +++ b/arch/sparc/include/asm/irq.h @@ -32,4 +32,7 @@ extern int intLock(void); /* Sets the PIL to oldLevel */ extern void intUnlock(int oldLevel); +/* Return non-zero if interrupts are currently enabled */ +extern int interrupt_is_enabled(void); + #endif diff --git a/arch/sparc/lib/interrupts.c b/arch/sparc/lib/interrupts.c index b7c3993619..b8f2efb303 100644 --- a/arch/sparc/lib/interrupts.c +++ b/arch/sparc/lib/interrupts.c @@ -47,6 +47,13 @@ int disable_interrupts(void) return intLock(); } +int interrupt_is_enabled(void) +{ + if (get_pil() == 15) + return 0; + return 1; +} + int interrupt_init(void) { int ret; -- cgit v1.2.3