Lines Matching +full:non +full:- +full:volatile

1 /* SPDX-License-Identifier: GPL-2.0-only */
18 #include <asm-generic/bitops/__ffs.h>
19 #include <asm-generic/bitops/ffz.h>
20 #include <asm-generic/bitops/fls.h>
21 #include <asm-generic/bitops/__fls.h>
22 #include <asm-generic/bitops/fls64.h>
23 #include <asm-generic/bitops/find.h>
24 #include <asm-generic/bitops/sched.h>
25 #include <asm-generic/bitops/ffs.h>
27 #include <asm-generic/bitops/hweight.h>
66 * test_and_set_bit - Set a bit and return its old value
72 static inline int test_and_set_bit(int nr, volatile unsigned long *addr) in test_and_set_bit()
78 * test_and_clear_bit - Clear a bit and return its old value
84 static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) in test_and_clear_bit()
90 * test_and_change_bit - Change a bit and return its old value
97 static inline int test_and_change_bit(int nr, volatile unsigned long *addr) in test_and_change_bit()
103 * set_bit - Atomically set a bit in memory
108 * on non x86 architectures, so if you are writing portable code,
112 * restricted to acting on a single-word quantity.
114 static inline void set_bit(int nr, volatile unsigned long *addr) in set_bit()
120 * clear_bit - Clears a bit in memory
125 * on non x86 architectures, so if you are writing portable code,
128 static inline void clear_bit(int nr, volatile unsigned long *addr) in clear_bit()
134 * change_bit - Toggle a bit in memory
140 * restricted to acting on a single-word quantity.
142 static inline void change_bit(int nr, volatile unsigned long *addr) in change_bit()
148 * test_and_set_bit_lock - Set a bit and return its old value, for lock
156 unsigned long nr, volatile unsigned long *addr) in test_and_set_bit_lock()
162 * clear_bit_unlock - Clear a bit in memory, for unlock
169 unsigned long nr, volatile unsigned long *addr) in clear_bit_unlock()
175 * __clear_bit_unlock - Clear a bit in memory, for unlock
185 * On RISC-V systems there seems to be no benefit to taking advantage of the
186 * non-atomic property here: it's a lot more instructions and we still have to
190 unsigned long nr, volatile unsigned long *addr) in __clear_bit_unlock()
201 #include <asm-generic/bitops/non-atomic.h>
202 #include <asm-generic/bitops/le.h>
203 #include <asm-generic/bitops/ext2-atomic.h>