home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / sh / include / asm / irqflags.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  710 b   |  35 lines

  1. #ifndef __ASM_SH_IRQFLAGS_H
  2. #define __ASM_SH_IRQFLAGS_H
  3.  
  4. #ifdef CONFIG_SUPERH32
  5. #include "irqflags_32.h"
  6. #else
  7. #include "irqflags_64.h"
  8. #endif
  9.  
  10. #define raw_local_save_flags(flags) \
  11.         do { (flags) = __raw_local_save_flags(); } while (0)
  12.  
  13. static inline int raw_irqs_disabled_flags(unsigned long flags)
  14. {
  15.     return (flags != 0);
  16. }
  17.  
  18. static inline int raw_irqs_disabled(void)
  19. {
  20.     unsigned long flags = __raw_local_save_flags();
  21.  
  22.     return raw_irqs_disabled_flags(flags);
  23. }
  24.  
  25. #define raw_local_irq_save(flags) \
  26.         do { (flags) = __raw_local_irq_save(); } while (0)
  27.  
  28. static inline void raw_local_irq_restore(unsigned long flags)
  29. {
  30.     if ((flags & 0xf0) != 0xf0)
  31.         raw_local_irq_enable();
  32. }
  33.  
  34. #endif /* __ASM_SH_IRQFLAGS_H */
  35.