diff options
| author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-07-27 22:11:24 +0000 |
|---|---|---|
| committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-07-27 22:11:24 +0000 |
| commit | ce6a36c7f7c88e7ca0fda816f9282237bb86829d (patch) | |
| tree | 611bf9beb2281d34260ca87fc189a0ddc864819a /libdde-linux26/libdde_linux26/contrib/include/asm-generic/cmpxchg.h | |
| parent | bb9d6cd642f9189b8102d566c8c46a6de1d2c5f7 (diff) | |
| parent | 4fbe7358c7747a9165f776eb19addbb9baf7def2 (diff) | |
Merge branch 'upstream-merged'
Diffstat (limited to 'libdde-linux26/libdde_linux26/contrib/include/asm-generic/cmpxchg.h')
| -rw-r--r-- | libdde-linux26/libdde_linux26/contrib/include/asm-generic/cmpxchg.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libdde-linux26/libdde_linux26/contrib/include/asm-generic/cmpxchg.h b/libdde-linux26/libdde_linux26/contrib/include/asm-generic/cmpxchg.h new file mode 100644 index 00000000..213ac6e8 --- /dev/null +++ b/libdde-linux26/libdde_linux26/contrib/include/asm-generic/cmpxchg.h @@ -0,0 +1,22 @@ +#ifndef __ASM_GENERIC_CMPXCHG_H +#define __ASM_GENERIC_CMPXCHG_H + +/* + * Generic cmpxchg + * + * Uses the local cmpxchg. Does not support SMP. + */ +#ifdef CONFIG_SMP +#error "Cannot use generic cmpxchg on SMP" +#endif + +/* + * Atomic compare and exchange. + * + * Do not define __HAVE_ARCH_CMPXCHG because we want to use it to check whether + * a cmpxchg primitive faster than repeated local irq save/restore exists. + */ +#define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) +#define cmpxchg64(ptr, o, n) cmpxchg64_local((ptr), (o), (n)) + +#endif |
