From 885df91ca3571afd4b3f50f3391329bbf3c9e262 Mon Sep 17 00:00:00 2001 From: David Howells Date: Wed, 28 Mar 2012 18:30:03 +0100 Subject: Create asm-generic/barrier.h Create asm-generic/barrier.h and move the barrier definitions from asm-generic/system.h to it. Signed-off-by: David Howells Acked-by: Arnd Bergmann --- include/asm-generic/system.h | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) (limited to 'include/asm-generic/system.h') diff --git a/include/asm-generic/system.h b/include/asm-generic/system.h index 82cb53abb9f6..f98f693383c4 100644 --- a/include/asm-generic/system.h +++ b/include/asm-generic/system.h @@ -19,6 +19,7 @@ #include #include +#include #include struct task_struct; @@ -33,42 +34,9 @@ extern struct task_struct *__switch_to(struct task_struct *, #define arch_align_stack(x) (x) -#define nop() asm volatile ("nop") - -#endif /* !__ASSEMBLY__ */ - -/* - * Force strict CPU ordering. - * And yes, this is required on UP too when we're talking - * to devices. - * - * This implementation only contains a compiler barrier. - */ - -#define mb() asm volatile ("": : :"memory") -#define rmb() mb() -#define wmb() asm volatile ("": : :"memory") - -#ifdef CONFIG_SMP -#define smp_mb() mb() -#define smp_rmb() rmb() -#define smp_wmb() wmb() -#else -#define smp_mb() barrier() -#define smp_rmb() barrier() -#define smp_wmb() barrier() -#endif - -#define set_mb(var, value) do { var = value; mb(); } while (0) -#define set_wmb(var, value) do { var = value; wmb(); } while (0) - -#define read_barrier_depends() do {} while (0) -#define smp_read_barrier_depends() do {} while (0) - /* * we make sure local_irq_enable() doesn't cause priority inversion */ -#ifndef __ASSEMBLY__ /* This function doesn't exist, so you'll get a linker error * if something tries to do an invalid xchg(). */ -- cgit v1.2.3