Merge git://github.com/rustyrussell/linux
[pandora-kernel.git] / arch / um / include / asm / irqflags.h
1 #ifndef __UM_IRQFLAGS_H
2 #define __UM_IRQFLAGS_H
3
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 }
41
42 #endif