Commit | Line | Data |
---|---|---|
068fbad2 MD |
1 | #ifndef __ASM_GENERIC_CMPXCHG_H |
2 | #define __ASM_GENERIC_CMPXCHG_H | |
3 | ||
4 | /* | |
5 | * Generic cmpxchg | |
6 | * | |
7 | * Uses the local cmpxchg. Does not support SMP. | |
8 | */ | |
9 | #ifdef CONFIG_SMP | |
10 | #error "Cannot use generic cmpxchg on SMP" | |
11 | #endif | |
12 | ||
13 | /* | |
14 | * Atomic compare and exchange. | |
15 | * | |
16 | * Do not define __HAVE_ARCH_CMPXCHG because we want to use it to check whether | |
17 | * a cmpxchg primitive faster than repeated local irq save/restore exists. | |
18 | */ | |
19 | #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) | |
20 | #define cmpxchg64(ptr, o, n) cmpxchg64_local((ptr), (o), (n)) | |
21 | ||
22 | #endif |