1 #ifndef _ASM_M32R_BITOPS_H
2 #define _ASM_M32R_BITOPS_H
14 #ifndef _LINUX_BITOPS_H
15 #error only <linux/bitops.h> can be included directly
18 #include <linux/compiler.h>
20 #include <asm/assembler.h>
21 #include <asm/byteorder.h>
23 #include <asm/types.h>
51 mask = (1 << (nr & 0x1F));
62 #ifdef CONFIG_CHIP_M32700_TS1
87 mask = (1 << (nr & 0x1F));
97 :
"r" (a),
"r" (~mask)
99 #ifdef CONFIG_CHIP_M32700_TS1
106 #define smp_mb__before_clear_bit() barrier()
107 #define smp_mb__after_clear_bit() barrier()
126 mask = (1 << (nr & 0x1F));
135 :
"r" (a),
"r" (mask)
137 #ifdef CONFIG_CHIP_M32700_TS1
160 mask = (1 << (nr & 0x1F));
170 :
"=&r" (oldbit),
"=&r" (tmp)
171 :
"r" (a),
"r" (mask)
176 return (oldbit != 0);
195 mask = (1 << (nr & 0x1F));
207 :
"=&r" (oldbit),
"=&r" (tmp),
"+r" (mask)
213 return (oldbit != 0);
232 mask = (1 << (nr & 0x1F));
242 :
"=&r" (oldbit),
"=&r" (tmp)
243 :
"r" (a),
"r" (mask)
248 return (oldbit != 0);