diff options
Diffstat (limited to 'arch/s390/include/asm/spinlock.h')
-rw-r--r-- | arch/s390/include/asm/spinlock.h | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/arch/s390/include/asm/spinlock.h b/arch/s390/include/asm/spinlock.h index a587907d77f3..56612fc8186e 100644 --- a/arch/s390/include/asm/spinlock.h +++ b/arch/s390/include/asm/spinlock.h | |||
@@ -13,8 +13,6 @@ | |||
13 | 13 | ||
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | 15 | ||
16 | #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2) | ||
17 | |||
18 | static inline int | 16 | static inline int |
19 | _raw_compare_and_swap(volatile unsigned int *lock, | 17 | _raw_compare_and_swap(volatile unsigned int *lock, |
20 | unsigned int old, unsigned int new) | 18 | unsigned int old, unsigned int new) |
@@ -27,22 +25,6 @@ _raw_compare_and_swap(volatile unsigned int *lock, | |||
27 | return old; | 25 | return old; |
28 | } | 26 | } |
29 | 27 | ||
30 | #else /* __GNUC__ */ | ||
31 | |||
32 | static inline int | ||
33 | _raw_compare_and_swap(volatile unsigned int *lock, | ||
34 | unsigned int old, unsigned int new) | ||
35 | { | ||
36 | asm volatile( | ||
37 | " cs %0,%3,0(%4)" | ||
38 | : "=d" (old), "=m" (*lock) | ||
39 | : "0" (old), "d" (new), "a" (lock), "m" (*lock) | ||
40 | : "cc", "memory" ); | ||
41 | return old; | ||
42 | } | ||
43 | |||
44 | #endif /* __GNUC__ */ | ||
45 | |||
46 | /* | 28 | /* |
47 | * Simple spin lock operations. There are two variants, one clears IRQ's | 29 | * Simple spin lock operations. There are two variants, one clears IRQ's |
48 | * on the local processor, one does not. | 30 | * on the local processor, one does not. |