Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
bitops.h
Go to the documentation of this file.
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 
24 #include <asm-generic/bitops/ffz.h>
25 #include <asm-generic/bitops/fls.h>
29 
30 #ifndef _LINUX_BITOPS_H
31 #error only <linux/bitops.h> can be included directly
32 #endif
33 
35 #include <asm-generic/bitops/ffs.h>
38 
41 #include <asm-generic/bitops/le.h>
43 
44 #endif /* __ASM_GENERIC_BITOPS_H */