#ifndef ASM_X86_CMPXCHG_H
#define ASM_X86_CMPXCHG_H
#include <linux/compiler.h>
#include <asm/cpufeatures.h>
#include <asm/alternative.h>
extern void __xchg_wrong_size(void)
__compiletime_error("Bad argument size for xchg");
extern void __cmpxchg_wrong_size(void)
__compiletime_error("Bad argument size for cmpxchg");
extern void __xadd_wrong_size(void)
__compiletime_error("Bad argument size for xadd");
extern void __add_wrong_size(void)
__compiletime_error("Bad argument size for add");
#define __X86_CASE_B …
#define __X86_CASE_W …
#define __X86_CASE_L …
#ifdef CONFIG_64BIT
#define __X86_CASE_Q …
#else
#define __X86_CASE_Q …
#endif
#define __xchg_op(ptr, arg, op, lock) …
#define arch_xchg(ptr, v) …
#define __raw_cmpxchg(ptr, old, new, size, lock) …
#define __cmpxchg(ptr, old, new, size) …
#define __sync_cmpxchg(ptr, old, new, size) …
#define __cmpxchg_local(ptr, old, new, size) …
#ifdef CONFIG_X86_32
# include <asm/cmpxchg_32.h>
#else
# include <asm/cmpxchg_64.h>
#endif
#define arch_cmpxchg(ptr, old, new) …
#define arch_sync_cmpxchg(ptr, old, new) …
#define arch_cmpxchg_local(ptr, old, new) …
#define __raw_try_cmpxchg(_ptr, _pold, _new, size, lock) …
#define __try_cmpxchg(ptr, pold, new, size) …
#define __sync_try_cmpxchg(ptr, pold, new, size) …
#define __try_cmpxchg_local(ptr, pold, new, size) …
#define arch_try_cmpxchg(ptr, pold, new) …
#define arch_sync_try_cmpxchg(ptr, pold, new) …
#define arch_try_cmpxchg_local(ptr, pold, new) …
#define __xadd(ptr, inc, lock) …
#define xadd(ptr, inc) …
#endif