diff options
Diffstat (limited to 'include/asm-generic/cmpxchg.h')
| -rw-r--r-- | include/asm-generic/cmpxchg.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-generic/cmpxchg.h b/include/asm-generic/cmpxchg.h index 14883026015d..811fb1e9b061 100644 --- a/include/asm-generic/cmpxchg.h +++ b/include/asm-generic/cmpxchg.h | |||
| @@ -92,6 +92,16 @@ unsigned long __xchg(unsigned long x, volatile void *ptr, int size) | |||
| 92 | */ | 92 | */ |
| 93 | #include <asm-generic/cmpxchg-local.h> | 93 | #include <asm-generic/cmpxchg-local.h> |
| 94 | 94 | ||
| 95 | #ifndef cmpxchg_local | ||
| 96 | #define cmpxchg_local(ptr, o, n) \ | ||
| 97 | ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ | ||
| 98 | (unsigned long)(n), sizeof(*(ptr)))) | ||
| 99 | #endif | ||
| 100 | |||
| 101 | #ifndef cmpxchg64_local | ||
| 102 | #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) | ||
| 103 | #endif | ||
| 104 | |||
| 95 | #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) | 105 | #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) |
| 96 | #define cmpxchg64(ptr, o, n) cmpxchg64_local((ptr), (o), (n)) | 106 | #define cmpxchg64(ptr, o, n) cmpxchg64_local((ptr), (o), (n)) |
| 97 | 107 | ||
