Subversion Repositories Kolibri OS

Rev

Go to most recent revision | 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. #include <linux/preempt_mask.h>
  6.  
  7. #ifdef CONFIG_TRACE_IRQFLAGS
  8. extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
  9. #else
  10. static __always_inline void __local_bh_disable_ip(unsigned long ip, unsigned int cnt)
  11. {
  12.         preempt_count_add(cnt);
  13.         barrier();
  14. }
  15. #endif
  16.  
  17. static inline void local_bh_disable(void)
  18. {
  19.         __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
  20. }
  21.  
  22. extern void _local_bh_enable(void);
  23. extern void __local_bh_enable_ip(unsigned long ip, unsigned int cnt);
  24.  
  25. static inline void local_bh_enable_ip(unsigned long ip)
  26. {
  27.         __local_bh_enable_ip(ip, SOFTIRQ_DISABLE_OFFSET);
  28. }
  29.  
  30. static inline void local_bh_enable(void)
  31. {
  32.         __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
  33. }
  34.  
  35. #endif /* _LINUX_BH_H */
  36.