Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / asm-generic / bitops.h
1 #ifndef __ASM_GENERIC_BITOPS_H
2 #define __ASM_GENERIC_BITOPS_H
3
4 /*
5 * For the benefit of those who are trying to port Linux to another
6 * architecture, here are some C-language equivalents. You should
7 * recode these in the native assembly language, if at all possible.
8 *
9 * C language equivalents written by Theodore Ts'o, 9/26/92
10 */
11
12 #include <linux/irqflags.h>
13 #include <linux/compiler.h>
14
15 /*
16 * clear_bit may not imply a memory barrier
17 */
18 #ifndef smp_mb__before_clear_bit
19 #define smp_mb__before_clear_bit() smp_mb()
20 #define smp_mb__after_clear_bit() smp_mb()
21 #endif
22
23 #include <asm-generic/bitops/__ffs.h>
24 #include <asm-generic/bitops/ffz.h>
25 #include <asm-generic/bitops/fls.h>
26 #include <asm-generic/bitops/__fls.h>
27 #include <asm-generic/bitops/fls64.h>
28 #include <asm-generic/bitops/find.h>
29
30 #ifndef _LINUX_BITOPS_H
31 #error only <linux/bitops.h> can be included directly
32 #endif
33
34 #include <asm-generic/bitops/sched.h>
35 #include <asm-generic/bitops/ffs.h>
36 #include <asm-generic/bitops/hweight.h>
37 #include <asm-generic/bitops/lock.h>
38
39 #include <asm-generic/bitops/atomic.h>
40 #include <asm-generic/bitops/non-atomic.h>
41 #include <asm-generic/bitops/le.h>
42 #include <asm-generic/bitops/ext2-atomic.h>
43
44 #endif /* __ASM_GENERIC_BITOPS_H */