Merge tag 'for-linus-4.5-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / include / linux / bottom_half.h
CommitLineData
676dcb8b
AM
1#ifndef _LINUX_BH_H
2#define _LINUX_BH_H
3
0bd3a173 4#include <linux/preempt.h>
0bd3a173
PZ
5
6#ifdef CONFIG_TRACE_IRQFLAGS
7extern void __local_bh_disable_ip(unsigned long ip, unsigned int cnt);
8#else
9static __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
16static inline void local_bh_disable(void)
17{
18 __local_bh_disable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
19}
20
676dcb8b 21extern void _local_bh_enable(void);
0bd3a173
PZ
22extern void __local_bh_enable_ip(unsigned long ip, unsigned int cnt);
23
24static inline void local_bh_enable_ip(unsigned long ip)
25{
26 __local_bh_enable_ip(ip, SOFTIRQ_DISABLE_OFFSET);
27}
28
29static inline void local_bh_enable(void)
30{
31 __local_bh_enable_ip(_THIS_IP_, SOFTIRQ_DISABLE_OFFSET);
32}
676dcb8b
AM
33
34#endif /* _LINUX_BH_H */