Lines Matching +full:non +full:- +full:volatile
1 /* SPDX-License-Identifier: GPL-2.0 */
6 * The bit modifying instructions on SH-2A are only capable of working
7 * with a 3-bit immediate, which signifies the shift position for the bit
11 #define BITOP_LE_SWIZZLE ((BITS_PER_LONG-1) & ~0x7)
19 static inline void __set_bit(int nr, volatile unsigned long *addr) in __set_bit()
36 static inline void __clear_bit(int nr, volatile unsigned long *addr) in __clear_bit()
55 * __change_bit - Toggle a bit in memory
59 * Unlike change_bit(), this function is non-atomic and may be reordered.
63 static inline void __change_bit(int nr, volatile unsigned long *addr) in __change_bit()
82 * __test_and_set_bit - Set a bit and return its old value
86 * This operation is non-atomic and can be reordered.
90 static inline int __test_and_set_bit(int nr, volatile unsigned long *addr) in __test_and_set_bit()
101 * __test_and_clear_bit - Clear a bit and return its old value
105 * This operation is non-atomic and can be reordered.
109 static inline int __test_and_clear_bit(int nr, volatile unsigned long *addr) in __test_and_clear_bit()
119 /* WARNING: non atomic and it can be reordered! */
121 volatile unsigned long *addr) in __test_and_change_bit()
132 * test_bit - Determine whether a bit is set
136 static inline int test_bit(int nr, const volatile unsigned long *addr) in test_bit()
138 return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); in test_bit()