diff options
Diffstat (limited to 'arch/um/include/asm/irqflags.h')
-rw-r--r-- | arch/um/include/asm/irqflags.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/arch/um/include/asm/irqflags.h b/arch/um/include/asm/irqflags.h index 659b9abdfdba..c780d8a16773 100644 --- a/arch/um/include/asm/irqflags.h +++ b/arch/um/include/asm/irqflags.h | |||
@@ -1,6 +1,42 @@ | |||
1 | #ifndef __UM_IRQFLAGS_H | 1 | #ifndef __UM_IRQFLAGS_H |
2 | #define __UM_IRQFLAGS_H | 2 | #define __UM_IRQFLAGS_H |
3 | 3 | ||
4 | /* Empty for now */ | 4 | extern int get_signals(void); |
5 | extern int set_signals(int enable); | ||
6 | extern void block_signals(void); | ||
7 | extern void unblock_signals(void); | ||
8 | |||
9 | static inline unsigned long arch_local_save_flags(void) | ||
10 | { | ||
11 | return get_signals(); | ||
12 | } | ||
13 | |||
14 | static inline void arch_local_irq_restore(unsigned long flags) | ||
15 | { | ||
16 | set_signals(flags); | ||
17 | } | ||
18 | |||
19 | static inline void arch_local_irq_enable(void) | ||
20 | { | ||
21 | unblock_signals(); | ||
22 | } | ||
23 | |||
24 | static inline void arch_local_irq_disable(void) | ||
25 | { | ||
26 | block_signals(); | ||
27 | } | ||
28 | |||
29 | static inline unsigned long arch_local_irq_save(void) | ||
30 | { | ||
31 | unsigned long flags; | ||
32 | flags = arch_local_save_flags(); | ||
33 | arch_local_irq_disable(); | ||
34 | return flags; | ||
35 | } | ||
36 | |||
37 | static inline bool arch_irqs_disabled(void) | ||
38 | { | ||
39 | return arch_local_save_flags() == 0; | ||
40 | } | ||
5 | 41 | ||
6 | #endif | 42 | #endif |