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 \
" " #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"); \
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)