locking/atomic, arch/arc: Fix build
authorPeter Zijlstra <peterz@infradead.org>
Fri, 17 Jun 2016 15:02:01 +0000 (17:02 +0200)
committerIngo Molnar <mingo@kernel.org>
Mon, 20 Jun 2016 09:25:49 +0000 (11:25 +0200)
Resolve conflict between commits:

  fbffe892e525 ("locking/atomic, arch/arc: Implement atomic_fetch_{add,sub,and,andnot,or,xor}()")

and:

  ed6aefed726a ("Revert "ARCv2: spinlock/rwlock/atomics: Delayed retry of failed SCOND with exponential backoff"")

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nigel Topham <ntopham@synopsys.com>
Cc: Noam Camus <noamc@ezchip.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/arc/include/asm/atomic.h

index bd9c51cb2bfdbcbc6f018c64d2daf3dcc1413261..4e3c1b6b0806bf1087b36f21cf96e5dfb60715b1 100644 (file)
@@ -71,7 +71,6 @@ static inline int atomic_##op##_return(int i, atomic_t *v)            \
 static inline int atomic_fetch_##op(int i, atomic_t *v)                        \
 {                                                                      \
        unsigned int val, orig;                                         \
-       SCOND_FAIL_RETRY_VAR_DEF                                        \
                                                                        \
        /*                                                              \
         * Explicit full memory barrier needed before/after as          \
@@ -84,11 +83,8 @@ static inline int atomic_fetch_##op(int i, atomic_t *v)                      \
        "       " #asm_op " %[val], %[orig], %[i]       \n"             \
        "       scond   %[val], [%[ctr]]                \n"             \
        "                                               \n"             \
-       SCOND_FAIL_RETRY_ASM                                            \
-                                                                       \
        : [val] "=&r"   (val),                                          \
          [orig] "=&r" (orig)                                           \
-         SCOND_FAIL_RETRY_VARS                                         \
        : [ctr] "r"     (&v->counter),                                  \
          [i]   "ir"    (i)                                             \
        : "cc");                                                        \
@@ -199,10 +195,6 @@ ATOMIC_OPS(andnot, &= ~, bic)
 ATOMIC_OPS(or, |=, or)
 ATOMIC_OPS(xor, ^=, xor)
 
-#undef SCOND_FAIL_RETRY_VAR_DEF
-#undef SCOND_FAIL_RETRY_ASM
-#undef SCOND_FAIL_RETRY_VARS
-
 #else /* CONFIG_ARC_PLAT_EZNPS */
 
 static inline int atomic_read(const atomic_t *v)