diff options
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/cmpxchg.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/arch/x86/include/asm/cmpxchg.h b/arch/x86/include/asm/cmpxchg.h index 0d0d9cdd3309..5d3acdf5a7a6 100644 --- a/arch/x86/include/asm/cmpxchg.h +++ b/arch/x86/include/asm/cmpxchg.h | |||
@@ -1,12 +1,19 @@ | |||
1 | #ifndef ASM_X86_CMPXCHG_H | 1 | #ifndef ASM_X86_CMPXCHG_H |
2 | #define ASM_X86_CMPXCHG_H | 2 | #define ASM_X86_CMPXCHG_H |
3 | 3 | ||
4 | #include <linux/compiler.h> | ||
4 | #include <asm/alternative.h> /* Provides LOCK_PREFIX */ | 5 | #include <asm/alternative.h> /* Provides LOCK_PREFIX */ |
5 | 6 | ||
6 | /* Non-existant functions to indicate usage errors at link time. */ | 7 | /* |
7 | extern void __xchg_wrong_size(void); | 8 | * Non-existant functions to indicate usage errors at link time |
8 | extern void __cmpxchg_wrong_size(void); | 9 | * (or compile-time if the compiler implements __compiletime_error(). |
9 | extern void __xadd_wrong_size(void); | 10 | */ |
11 | extern void __xchg_wrong_size(void) | ||
12 | __compiletime_error("Bad argument size for xchg"); | ||
13 | extern void __cmpxchg_wrong_size(void) | ||
14 | __compiletime_error("Bad argument size for cmpxchg"); | ||
15 | extern void __xadd_wrong_size(void) | ||
16 | __compiletime_error("Bad argument size for xadd"); | ||
10 | 17 | ||
11 | /* | 18 | /* |
12 | * Constants for operation sizes. On 32-bit, the 64-bit size it set to | 19 | * Constants for operation sizes. On 32-bit, the 64-bit size it set to |