summaryrefslogtreecommitdiffstats
path: root/arch/avr32/include/asm/barrier.h
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2012-03-30 12:10:03 +0200
committerMichal Simek <monstr@monstr.eu>2012-03-30 12:10:03 +0200
commit6a4770e335bd4df0a4577146f76e116ab6e23f40 (patch)
tree305056c20b6ccf3a4fed00e9e32f3a1dd039cd70 /arch/avr32/include/asm/barrier.h
parentmicroblaze: Fix stack usage in PAGE_SIZE copy_tofrom_user (diff)
parentMerge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh (diff)
downloadlinux-6a4770e335bd4df0a4577146f76e116ab6e23f40.tar.xz
linux-6a4770e335bd4df0a4577146f76e116ab6e23f40.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next
Diffstat (limited to 'arch/avr32/include/asm/barrier.h')
-rw-r--r--arch/avr32/include/asm/barrier.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/avr32/include/asm/barrier.h b/arch/avr32/include/asm/barrier.h
new file mode 100644
index 000000000000..808001c9cf8c
--- /dev/null
+++ b/arch/avr32/include/asm/barrier.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2004-2006 Atmel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __ASM_AVR32_BARRIER_H
+#define __ASM_AVR32_BARRIER_H
+
+#define mb() asm volatile("" : : : "memory")
+#define rmb() mb()
+#define wmb() asm volatile("sync 0" : : : "memory")
+#define read_barrier_depends() do { } while(0)
+#define set_mb(var, value) do { var = value; mb(); } while(0)
+
+#ifdef CONFIG_SMP
+# error "The AVR32 port does not support SMP"
+#else
+# define smp_mb() barrier()
+# define smp_rmb() barrier()
+# define smp_wmb() barrier()
+# define smp_read_barrier_depends() do { } while(0)
+#endif
+
+
+#endif /* __ASM_AVR32_BARRIER_H */