Subversion Repositories Kolibri OS

Rev

Rev 5272 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef _LINUX_BH_H
  2. #define _LINUX_BH_H
  3.  
  4. #include <linux/preempt.h>
  5.  
  6. #ifdef CONFIG_TRACE_IRQFLAGS
  7. extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
  8. #else
  9. static __always_inline void __local_bh_disable_ip(unsigned long ip, unsigned int cnt)
  10. {
  11.         preempt_count_add(cnt);
  12.         barrier();
  13. }
  14. #endif
  15.  
  16. static inline void local_bh_disable(void)
  17. {
  18.         __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
  19. }
  20.  
  21. extern void _local_bh_enable(void);
  22. extern void __local_bh_enable_ip(unsigned long ip, unsigned int cnt);
  23.  
  24. static inline void local_bh_enable_ip(unsigned long ip)
  25. {
  26.         __local_bh_enable_ip(ip, SOFTIRQ_DISABLE_OFFSET);
  27. }
  28.  
  29. static inline void local_bh_enable(void)
  30. {
  31.         __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
  32. }
  33.  
  34. #endif /* _LINUX_BH_H */
  35.