]>
Commit | Line | Data |
---|---|---|
65e62974 JD |
1 | #ifndef __UM_IRQFLAGS_H |
2 | #define __UM_IRQFLAGS_H | |
3 | ||
a34978cb AV |
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 | } | |
65e62974 JD |
41 | |
42 | #endif |