Linux 2.6.28-rc5
[cris-mirror.git] / arch / sh / include / asm / irqflags.h
blob46e71da5be6b2263ddda378390dbfd94d866d4f5
1 #ifndef __ASM_SH_IRQFLAGS_H
2 #define __ASM_SH_IRQFLAGS_H
4 #ifdef CONFIG_SUPERH32
5 #include "irqflags_32.h"
6 #else
7 #include "irqflags_64.h"
8 #endif
10 #define raw_local_save_flags(flags) \
11 do { (flags) = __raw_local_save_flags(); } while (0)
13 static inline int raw_irqs_disabled_flags(unsigned long flags)
15 return (flags != 0);
18 static inline int raw_irqs_disabled(void)
20 unsigned long flags = __raw_local_save_flags();
22 return raw_irqs_disabled_flags(flags);
25 #define raw_local_irq_save(flags) \
26 do { (flags) = __raw_local_irq_save(); } while (0)
28 static inline void raw_local_irq_restore(unsigned long flags)
30 if ((flags & 0xf0) != 0xf0)
31 raw_local_irq_enable();
34 #endif /* __ASM_SH_IRQFLAGS_H */