diff options
author | Peter Zijlstra <peterz@infradead.org> | 2014-03-13 14:00:36 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-04-18 08:20:37 -0400 |
commit | 2db56e8606016e33903c64feaed989ffecd66a1b (patch) | |
tree | f4558d6a59abba607ebbccd150ddcba3ad6920f1 /arch/m68k | |
parent | 89607d5e2928d49bb64669d6d1e30e933a33f817 (diff) |
arch,m68k: Convert smp_mb__*()
m68k uses asm-generic/barrier.h and its smp_mb() is barrier(),
therefore we can use the generic versions that use smp_mb().
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/n/tip-s5dvosrb7qhvpmtaffwfn0zg@git.kernel.org
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/m68k')
-rw-r--r-- | arch/m68k/include/asm/atomic.h | 8 | ||||
-rw-r--r-- | arch/m68k/include/asm/bitops.h | 7 |
2 files changed, 2 insertions, 13 deletions
diff --git a/arch/m68k/include/asm/atomic.h b/arch/m68k/include/asm/atomic.h index f4e32de263a7..55695212a2ae 100644 --- a/arch/m68k/include/asm/atomic.h +++ b/arch/m68k/include/asm/atomic.h | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/irqflags.h> | 5 | #include <linux/irqflags.h> |
6 | #include <asm/cmpxchg.h> | 6 | #include <asm/cmpxchg.h> |
7 | #include <asm/barrier.h> | ||
7 | 8 | ||
8 | /* | 9 | /* |
9 | * Atomic operations that C can't guarantee us. Useful for | 10 | * Atomic operations that C can't guarantee us. Useful for |
@@ -209,11 +210,4 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) | |||
209 | return c; | 210 | return c; |
210 | } | 211 | } |
211 | 212 | ||
212 | |||
213 | /* Atomic operations are already serializing */ | ||
214 | #define smp_mb__before_atomic_dec() barrier() | ||
215 | #define smp_mb__after_atomic_dec() barrier() | ||
216 | #define smp_mb__before_atomic_inc() barrier() | ||
217 | #define smp_mb__after_atomic_inc() barrier() | ||
218 | |||
219 | #endif /* __ARCH_M68K_ATOMIC __ */ | 213 | #endif /* __ARCH_M68K_ATOMIC __ */ |
diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h index c6baa913592a..b4a9b0d5928d 100644 --- a/arch/m68k/include/asm/bitops.h +++ b/arch/m68k/include/asm/bitops.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #endif | 13 | #endif |
14 | 14 | ||
15 | #include <linux/compiler.h> | 15 | #include <linux/compiler.h> |
16 | #include <asm/barrier.h> | ||
16 | 17 | ||
17 | /* | 18 | /* |
18 | * Bit access functions vary across the ColdFire and 68k families. | 19 | * Bit access functions vary across the ColdFire and 68k families. |
@@ -67,12 +68,6 @@ static inline void bfset_mem_set_bit(int nr, volatile unsigned long *vaddr) | |||
67 | #define __set_bit(nr, vaddr) set_bit(nr, vaddr) | 68 | #define __set_bit(nr, vaddr) set_bit(nr, vaddr) |
68 | 69 | ||
69 | 70 | ||
70 | /* | ||
71 | * clear_bit() doesn't provide any barrier for the compiler. | ||
72 | */ | ||
73 | #define smp_mb__before_clear_bit() barrier() | ||
74 | #define smp_mb__after_clear_bit() barrier() | ||
75 | |||
76 | static inline void bclr_reg_clear_bit(int nr, volatile unsigned long *vaddr) | 71 | static inline void bclr_reg_clear_bit(int nr, volatile unsigned long *vaddr) |
77 | { | 72 | { |
78 | char *p = (char *)vaddr + (nr ^ 31) / 8; | 73 | char *p = (char *)vaddr + (nr ^ 31) / 8; |