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

1 /* SPDX-License-Identifier: GPL-2.0-only */
19 * generic___set_bit - Set a bit in memory
23 * Unlike set_bit(), this function is non-atomic and may be reordered.
28 generic___set_bit(unsigned long nr, volatile unsigned long *addr) in generic___set_bit()
37 generic___clear_bit(unsigned long nr, volatile unsigned long *addr) in generic___clear_bit()
46 * generic___change_bit - Toggle a bit in memory
50 * Unlike change_bit(), this function is non-atomic and may be reordered.
55 generic___change_bit(unsigned long nr, volatile unsigned long *addr) in generic___change_bit()
64 * generic___test_and_set_bit - Set a bit and return its old value
68 * This operation is non-atomic and can be reordered.
73 generic___test_and_set_bit(unsigned long nr, volatile unsigned long *addr) in generic___test_and_set_bit()
84 * generic___test_and_clear_bit - Clear a bit and return its old value
88 * This operation is non-atomic and can be reordered.
93 generic___test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) in generic___test_and_clear_bit()
103 /* WARNING: non atomic and it can be reordered! */
105 generic___test_and_change_bit(unsigned long nr, volatile unsigned long *addr) in generic___test_and_change_bit()
116 * generic_test_bit - Determine whether a bit is set
121 generic_test_bit(unsigned long nr, const volatile unsigned long *addr) in generic_test_bit()
125 * so `volatile` must always stay here with no cast-aways. See in generic_test_bit()
128 return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); in generic_test_bit()
132 * generic_test_bit_acquire - Determine, with acquire semantics, whether a bit is set
137 generic_test_bit_acquire(unsigned long nr, const volatile unsigned long *addr) in generic_test_bit_acquire()
140 return 1UL & (smp_load_acquire(p) >> (nr & (BITS_PER_LONG-1))); in generic_test_bit_acquire()
144 * const_*() definitions provide good compile-time optimizations when
156 * const_test_bit - Determine whether a bit is set
160 * A version of generic_test_bit() which discards the `volatile` qualifier to
161 * allow a compiler to optimize code harder. Non-atomic and to be called only
162 * for testing compile-time constants, e.g. by the corresponding macros, not
166 const_test_bit(unsigned long nr, const volatile unsigned long *addr) in const_test_bit()