Skip to content

Commit e6942b7

Browse files
Peter ZijlstraKAGA-KOKO
authored andcommitted
atomic: Provide atomic_{or,xor,and}
Implement atomic logic ops -- atomic_{or,xor,and}. These will replace the atomic_{set,clear}_mask functions that are available on some archs. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 parent 2957c03 commit e6942b7

File tree

29 files changed

+19
-68
lines changed

29 files changed

+19
-68
lines changed

arch/alpha/include/asm/atomic.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ static __inline__ long atomic64_##op##_return(long i, atomic64_t * v) \
110110
ATOMIC_OPS(add)
111111
ATOMIC_OPS(sub)
112112

113-
#define CONFIG_ARCH_HAS_ATOMIC_OR
114113
#define atomic_andnot atomic_andnot
115114
#define atomic64_andnot atomic64_andnot
116115

arch/arc/include/asm/atomic.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \
144144
ATOMIC_OPS(add, +=, add)
145145
ATOMIC_OPS(sub, -=, sub)
146146

147-
#define CONFIG_ARCH_HAS_ATOMIC_OR
148147
#define atomic_andnot atomic_andnot
149148

150149
ATOMIC_OP(and, &=, and)

arch/arm/include/asm/atomic.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,6 @@ static inline int __atomic_add_unless(atomic_t *v, int a, int u)
194194
ATOMIC_OPS(add, +=, add)
195195
ATOMIC_OPS(sub, -=, sub)
196196

197-
#define CONFIG_ARCH_HAS_ATOMIC_OR
198197
#define atomic_andnot atomic_andnot
199198

200199
ATOMIC_OP(and, &=, and)

arch/arm64/include/asm/atomic.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \
8585
ATOMIC_OPS(add, add)
8686
ATOMIC_OPS(sub, sub)
8787

88-
#define CONFIG_ARCH_HAS_ATOMIC_OR
8988
#define atomic_andnot atomic_andnot
9089

9190
ATOMIC_OP(and, and)

arch/avr32/include/asm/atomic.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ static inline void atomic_##op(int i, atomic_t *v) \
5151
(void)__atomic_##op##_return(i, v); \
5252
}
5353

54-
#define CONFIG_ARCH_HAS_ATOMIC_OR
55-
5654
ATOMIC_OP(and, and)
5755
ATOMIC_OP(or, or)
5856
ATOMIC_OP(xor, eor)

arch/blackfin/include/asm/atomic.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ asmlinkage int __raw_atomic_test_asm(const volatile int *ptr, int value);
2828
#define atomic_add_return(i, v) __raw_atomic_add_asm(&(v)->counter, i)
2929
#define atomic_sub_return(i, v) __raw_atomic_add_asm(&(v)->counter, -(i))
3030

31-
#define CONFIG_ARCH_HAS_ATOMIC_OR
32-
3331
#define atomic_or(i, v) (void)__raw_atomic_or_asm(&(v)->counter, i)
3432
#define atomic_and(i, v) (void)__raw_atomic_and_asm(&(v)->counter, i)
3533
#define atomic_xor(i, v) (void)__raw_atomic_xor_asm(&(v)->counter, i)

arch/frv/include/asm/atomic.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,6 @@ static inline void atomic64_##op(long long i, atomic64_t *v) \
192192
(void)__atomic64_fetch_##op(i, &v->counter); \
193193
}
194194

195-
#define CONFIG_ARCH_HAS_ATOMIC_OR
196-
197195
ATOMIC_OP(or)
198196
ATOMIC_OP(and)
199197
ATOMIC_OP(xor)

arch/h8300/include/asm/atomic.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ static inline void atomic_##op(int i, atomic_t *v) \
4141
ATOMIC_OP_RETURN(add, +=)
4242
ATOMIC_OP_RETURN(sub, -=)
4343

44-
#define CONFIG_ARCH_HAS_ATOMIC_OR
45-
4644
ATOMIC_OP(and, &=)
4745
ATOMIC_OP(or, |=)
4846
ATOMIC_OP(xor, ^=)

arch/hexagon/include/asm/atomic.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,6 @@ static inline int atomic_##op##_return(int i, atomic_t *v) \
132132
ATOMIC_OPS(add)
133133
ATOMIC_OPS(sub)
134134

135-
#define CONFIG_ARCH_HAS_ATOMIC_OR
136-
137135
ATOMIC_OP(and)
138136
ATOMIC_OP(or)
139137
ATOMIC_OP(xor)

arch/ia64/include/asm/atomic.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@ ATOMIC_OP(sub, -)
6969
: ia64_atomic_sub(__ia64_asr_i, v); \
7070
})
7171

72-
#define CONFIG_ARCH_HAS_ATOMIC_OR
73-
7472
ATOMIC_OP(and, &)
7573
ATOMIC_OP(or, |)
7674
ATOMIC_OP(xor, ^)

0 commit comments

Comments
 (0)