Lines Matching +full:non +full:- +full:volatile
1 /* SPDX-License-Identifier: GPL-2.0 */
8 * __set_bit - Set a bit in memory
12 * Unlike set_bit(), this function is non-atomic and may be reordered.
16 static inline void __set_bit(int nr, volatile unsigned long *addr) in __set_bit()
24 static inline void __clear_bit(int nr, volatile unsigned long *addr) in __clear_bit()
33 * __change_bit - Toggle a bit in memory
37 * Unlike change_bit(), this function is non-atomic and may be reordered.
41 static inline void __change_bit(int nr, volatile unsigned long *addr) in __change_bit()
50 * __test_and_set_bit - Set a bit and return its old value
54 * This operation is non-atomic and can be reordered.
58 static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) in __test_and_set_bit()
69 * __test_and_clear_bit - Clear a bit and return its old value
73 * This operation is non-atomic and can be reordered.
77 static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) in __test_and_clear_bit()
87 /* WARNING: non atomic and it can be reordered! */
89 volatile unsigned long *addr) in __test_and_change_bit()
100 * test_bit - Determine whether a bit is set
104 static inline int test_bit(int nr, const volatile unsigned long *addr) in test_bit()
106 return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); in test_bit()