Skip to content

Commit

Permalink
locking/atomic: Remove linux/atomic.h:atomic_fetch_or()
Browse files Browse the repository at this point in the history
Since all architectures have this implemented now natively, remove this
dead code.

Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
  • Loading branch information
Peter Zijlstra authored and Ingo Molnar committed Jun 16, 2016
1 parent 28aa2bd commit b53d6be
Show file tree
Hide file tree
Showing 23 changed files with 0 additions and 64 deletions.
2 changes: 0 additions & 2 deletions arch/alpha/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,6 @@ ATOMIC_OPS(sub)
#define atomic_andnot atomic_andnot
#define atomic64_andnot atomic64_andnot

#define atomic_fetch_or atomic_fetch_or

#undef ATOMIC_OPS
#define ATOMIC_OPS(op, asm) \
ATOMIC_OP(op, asm) \
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,6 @@ ATOMIC_OPS(sub, -=, sub)

#define atomic_andnot atomic_andnot

#define atomic_fetch_or atomic_fetch_or

#undef ATOMIC_OPS
#define ATOMIC_OPS(op, c_op, asm_op) \
ATOMIC_OP(op, c_op, asm_op) \
Expand Down
2 changes: 0 additions & 2 deletions arch/arm/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,6 @@ static inline int atomic_fetch_##op(int i, atomic_t *v) \
return val; \
}

#define atomic_fetch_or atomic_fetch_or

static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
{
int ret;
Expand Down
2 changes: 0 additions & 2 deletions arch/arm64/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,6 @@
#define __atomic_add_unless(v, a, u) ___atomic_add_unless(v, a, u,)
#define atomic_andnot atomic_andnot

#define atomic_fetch_or atomic_fetch_or

/*
* 64-bit atomic operations.
*/
Expand Down
2 changes: 0 additions & 2 deletions arch/avr32/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ ATOMIC_OP_RETURN(add, add, r)
ATOMIC_FETCH_OP (sub, sub, rKs21)
ATOMIC_FETCH_OP (add, add, r)

#define atomic_fetch_or atomic_fetch_or

#define ATOMIC_OPS(op, asm_op) \
ATOMIC_OP_RETURN(op, asm_op, r) \
static inline void atomic_##op(int i, atomic_t *v) \
Expand Down
2 changes: 0 additions & 2 deletions arch/frv/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ static inline void atomic_dec(atomic_t *v)
#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)
#define atomic_inc_and_test(v) (atomic_add_return(1, (v)) == 0)

#define atomic_fetch_or atomic_fetch_or

/*
* 64-bit atomic ops
*/
Expand Down
2 changes: 0 additions & 2 deletions arch/h8300/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ static inline void atomic_##op(int i, atomic_t *v) \
ATOMIC_OP_RETURN(add, +=)
ATOMIC_OP_RETURN(sub, -=)

#define atomic_fetch_or atomic_fetch_or

#define ATOMIC_OPS(op, c_op) \
ATOMIC_OP(op, c_op) \
ATOMIC_FETCH_OP(op, c_op)
Expand Down
2 changes: 0 additions & 2 deletions arch/hexagon/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,6 @@ ATOMIC_OPS(sub)
#undef ATOMIC_OPS
#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and)
ATOMIC_OPS(or)
ATOMIC_OPS(xor)
Expand Down
2 changes: 0 additions & 2 deletions arch/m32r/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,6 @@ ATOMIC_OPS(sub)
#undef ATOMIC_OPS
#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and)
ATOMIC_OPS(or)
ATOMIC_OPS(xor)
Expand Down
2 changes: 0 additions & 2 deletions arch/m68k/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,6 @@ ATOMIC_OPS(sub, -=, sub)
ATOMIC_OP(op, c_op, asm_op) \
ATOMIC_FETCH_OP(op, c_op, asm_op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and, &=, and)
ATOMIC_OPS(or, |=, or)
ATOMIC_OPS(xor, ^=, eor)
Expand Down
2 changes: 0 additions & 2 deletions arch/metag/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
#include <asm/atomic_lnkget.h>
#endif

#define atomic_fetch_or atomic_fetch_or

#define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0)

#define atomic_dec_return(v) atomic_sub_return(1, (v))
Expand Down
2 changes: 0 additions & 2 deletions arch/mips/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,6 @@ ATOMIC_OPS(sub, -=, subu)
ATOMIC_OP(op, c_op, asm_op) \
ATOMIC_FETCH_OP(op, c_op, asm_op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and, &=, and)
ATOMIC_OPS(or, |=, or)
ATOMIC_OPS(xor, ^=, xor)
Expand Down
2 changes: 0 additions & 2 deletions arch/mn10300/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,6 @@ ATOMIC_OPS(sub)
#undef ATOMIC_OPS
#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and)
ATOMIC_OPS(or)
ATOMIC_OPS(xor)
Expand Down
2 changes: 0 additions & 2 deletions arch/parisc/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,6 @@ ATOMIC_OPS(sub, -=)
ATOMIC_OP(op, c_op) \
ATOMIC_FETCH_OP(op, c_op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and, &=)
ATOMIC_OPS(or, |=)
ATOMIC_OPS(xor, ^=)
Expand Down
2 changes: 0 additions & 2 deletions arch/s390/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,6 @@ static inline int atomic_fetch_##op(int i, atomic_t *v) \
return __ATOMIC_LOOP(v, i, __ATOMIC_##OP, __ATOMIC_BARRIER); \
}

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and, AND)
ATOMIC_OPS(or, OR)
ATOMIC_OPS(xor, XOR)
Expand Down
2 changes: 0 additions & 2 deletions arch/sh/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
#include <asm/atomic-irq.h>
#endif

#define atomic_fetch_or atomic_fetch_or

#define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0)
#define atomic_dec_return(v) atomic_sub_return(1, (v))
#define atomic_inc_return(v) atomic_add_return(1, (v))
Expand Down
1 change: 0 additions & 1 deletion arch/sparc/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,4 @@
#else
#include <asm/atomic_32.h>
#endif
#define atomic_fetch_or atomic_fetch_or
#endif
2 changes: 0 additions & 2 deletions arch/sparc/include/asm/atomic_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ void atomic_set(atomic_t *, int);
#define atomic_inc(v) ((void)atomic_add_return( 1, (v)))
#define atomic_dec(v) ((void)atomic_add_return( -1, (v)))

#define atomic_fetch_or atomic_fetch_or

#define atomic_and(i, v) ((void)atomic_fetch_and((i), (v)))
#define atomic_or(i, v) ((void)atomic_fetch_or((i), (v)))
#define atomic_xor(i, v) ((void)atomic_fetch_xor((i), (v)))
Expand Down
2 changes: 0 additions & 2 deletions arch/tile/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ static inline int atomic_read(const atomic_t *v)

#define atomic_fetch_sub(i, v) atomic_fetch_add(-(int)(i), (v))

#define atomic_fetch_or atomic_fetch_or

/**
* atomic_sub - subtract integer from atomic variable
* @i: integer value to subtract
Expand Down
2 changes: 0 additions & 2 deletions arch/x86/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,6 @@ static inline int atomic_fetch_##op(int i, atomic_t *v) \
ATOMIC_OP(op) \
ATOMIC_FETCH_OP(op, c_op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and, &)
ATOMIC_OPS(or , |)
ATOMIC_OPS(xor, ^)
Expand Down
2 changes: 0 additions & 2 deletions arch/xtensa/include/asm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,6 @@ ATOMIC_OPS(sub)
#undef ATOMIC_OPS
#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op)

#define atomic_fetch_or atomic_fetch_or

ATOMIC_OPS(and)
ATOMIC_OPS(or)
ATOMIC_OPS(xor)
Expand Down
2 changes: 0 additions & 2 deletions include/asm-generic/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,6 @@ ATOMIC_FETCH_OP(and, &)
#endif

#ifndef atomic_fetch_or
#define atomic_fetch_or atomic_fetch_or

ATOMIC_FETCH_OP(or, |)
#endif

Expand Down
21 changes: 0 additions & 21 deletions include/linux/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -573,27 +573,6 @@ static inline int atomic_dec_if_positive(atomic_t *v)
}
#endif

/**
* atomic_fetch_or - perform *p |= mask and return old value of *p
* @mask: mask to OR on the atomic_t
* @p: pointer to atomic_t
*/
#ifndef atomic_fetch_or
static inline int atomic_fetch_or(int mask, atomic_t *p)
{
int old, val = atomic_read(p);

for (;;) {
old = atomic_cmpxchg(p, val, val | mask);
if (old == val)
break;
val = old;
}

return old;
}
#endif

#ifdef CONFIG_GENERIC_ATOMIC64
#include <asm-generic/atomic64.h>
#endif
Expand Down

0 comments on commit b53d6be

Please sign in to comment.