summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2007-07-27 14:19:52 +0100
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-28 19:42:21 -0700
commit986c76036adb0b12cbe1bf1ce1f75586585ee227 (patch)
tree255797fb3de85cb47994a49746b1f3192e459bb6
parent9873aed5a90aefb1642a85070c35088cca8b6a92 (diff)
downloadlinux-3.10-986c76036adb0b12cbe1bf1ce1f75586585ee227.tar.gz
linux-3.10-986c76036adb0b12cbe1bf1ce1f75586585ee227.tar.bz2
linux-3.10-986c76036adb0b12cbe1bf1ce1f75586585ee227.zip
more include order horrors
... because somebody had added preempt.h -> list.h, resulting in asm/system.h -> hardirq.h -> preempt.h -> list.h -> asm/system.h on m68k, with smp_wmb() used in list.h and defined in asm/system.h below the include of hardirq.h. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/asm-m68k/system.h33
1 files changed, 16 insertions, 17 deletions
diff --git a/include/asm-m68k/system.h b/include/asm-m68k/system.h
index 198878b53a6..caa9b1663e4 100644
--- a/include/asm-m68k/system.h
+++ b/include/asm-m68k/system.h
@@ -46,6 +46,22 @@ asmlinkage void resume(void);
} while (0)
+/*
+ * Force strict CPU ordering.
+ * Not really required on m68k...
+ */
+#define nop() do { asm volatile ("nop"); barrier(); } while (0)
+#define mb() barrier()
+#define rmb() barrier()
+#define wmb() barrier()
+#define read_barrier_depends() ((void)0)
+#define set_mb(var, value) ({ (var) = (value); wmb(); })
+
+#define smp_mb() barrier()
+#define smp_rmb() barrier()
+#define smp_wmb() barrier()
+#define smp_read_barrier_depends() ((void)0)
+
/* interrupt control.. */
#if 0
#define local_irq_enable() asm volatile ("andiw %0,%%sr": : "i" (ALLOWINT) : "memory")
@@ -70,23 +86,6 @@ static inline int irqs_disabled(void)
/* For spinlocks etc */
#define local_irq_save(x) ({ local_save_flags(x); local_irq_disable(); })
-/*
- * Force strict CPU ordering.
- * Not really required on m68k...
- */
-#define nop() do { asm volatile ("nop"); barrier(); } while (0)
-#define mb() barrier()
-#define rmb() barrier()
-#define wmb() barrier()
-#define read_barrier_depends() ((void)0)
-#define set_mb(var, value) ({ (var) = (value); wmb(); })
-
-#define smp_mb() barrier()
-#define smp_rmb() barrier()
-#define smp_wmb() barrier()
-#define smp_read_barrier_depends() ((void)0)
-
-
#define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
struct __xchg_dummy { unsigned long a[100]; };