diff options
| -rw-r--r-- | arch/sparc/lib/atomic_64.S | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/arch/sparc/lib/atomic_64.S b/arch/sparc/lib/atomic_64.S index 1c6a1bde5138..ce17c3094ba6 100644 --- a/arch/sparc/lib/atomic_64.S +++ b/arch/sparc/lib/atomic_64.S | |||
| @@ -62,19 +62,23 @@ ENTRY(atomic_fetch_##op) /* %o0 = increment, %o1 = atomic_ptr */ \ | |||
| 62 | ENDPROC(atomic_fetch_##op); \ | 62 | ENDPROC(atomic_fetch_##op); \ |
| 63 | EXPORT_SYMBOL(atomic_fetch_##op); | 63 | EXPORT_SYMBOL(atomic_fetch_##op); |
| 64 | 64 | ||
| 65 | #define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_OP_RETURN(op) ATOMIC_FETCH_OP(op) | 65 | ATOMIC_OP(add) |
| 66 | ATOMIC_OP_RETURN(add) | ||
| 67 | ATOMIC_FETCH_OP(add) | ||
| 66 | 68 | ||
| 67 | ATOMIC_OPS(add) | 69 | ATOMIC_OP(sub) |
| 68 | ATOMIC_OPS(sub) | 70 | ATOMIC_OP_RETURN(sub) |
| 71 | ATOMIC_FETCH_OP(sub) | ||
| 69 | 72 | ||
| 70 | #undef ATOMIC_OPS | 73 | ATOMIC_OP(and) |
| 71 | #define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op) | 74 | ATOMIC_FETCH_OP(and) |
| 72 | 75 | ||
| 73 | ATOMIC_OPS(and) | 76 | ATOMIC_OP(or) |
| 74 | ATOMIC_OPS(or) | 77 | ATOMIC_FETCH_OP(or) |
| 75 | ATOMIC_OPS(xor) | 78 | |
| 79 | ATOMIC_OP(xor) | ||
| 80 | ATOMIC_FETCH_OP(xor) | ||
| 76 | 81 | ||
| 77 | #undef ATOMIC_OPS | ||
| 78 | #undef ATOMIC_FETCH_OP | 82 | #undef ATOMIC_FETCH_OP |
| 79 | #undef ATOMIC_OP_RETURN | 83 | #undef ATOMIC_OP_RETURN |
| 80 | #undef ATOMIC_OP | 84 | #undef ATOMIC_OP |
| @@ -124,19 +128,23 @@ ENTRY(atomic64_fetch_##op) /* %o0 = increment, %o1 = atomic_ptr */ \ | |||
| 124 | ENDPROC(atomic64_fetch_##op); \ | 128 | ENDPROC(atomic64_fetch_##op); \ |
| 125 | EXPORT_SYMBOL(atomic64_fetch_##op); | 129 | EXPORT_SYMBOL(atomic64_fetch_##op); |
| 126 | 130 | ||
| 127 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_OP_RETURN(op) ATOMIC64_FETCH_OP(op) | 131 | ATOMIC64_OP(add) |
| 132 | ATOMIC64_OP_RETURN(add) | ||
| 133 | ATOMIC64_FETCH_OP(add) | ||
| 134 | |||
| 135 | ATOMIC64_OP(sub) | ||
| 136 | ATOMIC64_OP_RETURN(sub) | ||
| 137 | ATOMIC64_FETCH_OP(sub) | ||
| 128 | 138 | ||
| 129 | ATOMIC64_OPS(add) | 139 | ATOMIC64_OP(and) |
| 130 | ATOMIC64_OPS(sub) | 140 | ATOMIC64_FETCH_OP(and) |
| 131 | 141 | ||
| 132 | #undef ATOMIC64_OPS | 142 | ATOMIC64_OP(or) |
| 133 | #define ATOMIC64_OPS(op) ATOMIC64_OP(op) ATOMIC64_FETCH_OP(op) | 143 | ATOMIC64_FETCH_OP(or) |
| 134 | 144 | ||
| 135 | ATOMIC64_OPS(and) | 145 | ATOMIC64_OP(xor) |
| 136 | ATOMIC64_OPS(or) | 146 | ATOMIC64_FETCH_OP(xor) |
| 137 | ATOMIC64_OPS(xor) | ||
| 138 | 147 | ||
| 139 | #undef ATOMIC64_OPS | ||
| 140 | #undef ATOMIC64_FETCH_OP | 148 | #undef ATOMIC64_FETCH_OP |
| 141 | #undef ATOMIC64_OP_RETURN | 149 | #undef ATOMIC64_OP_RETURN |
| 142 | #undef ATOMIC64_OP | 150 | #undef ATOMIC64_OP |
