diff options
| author | Will Deacon <will.deacon@arm.com> | 2013-09-04 06:34:08 -0400 |
|---|---|---|
| committer | Will Deacon <will.deacon@arm.com> | 2014-10-20 13:49:18 -0400 |
| commit | cbc908ef8e6babc40cb929f46ea1b8a26cbdbce0 (patch) | |
| tree | 7c91adbb4ed5947af5cef085905ee19e119f9bcf | |
| parent | 579cadee96542200b69efa3bda7ec4898c8153f6 (diff) | |
x86: io: implement dummy relaxed accessor macros for writes
write{b,w,l,q}_relaxed are implemented by some architectures in order to
permit memory-mapped I/O accesses with weaker barrier semantics than the
non-relaxed variants.
This patch adds dummy macros for the write accessors to x86, in the
same vein as the dummy definitions for the relaxed read accessors.
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
| -rw-r--r-- | arch/x86/include/asm/io.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h index b8237d8a1e0c..2ea07f5ec7b7 100644 --- a/arch/x86/include/asm/io.h +++ b/arch/x86/include/asm/io.h | |||
| @@ -74,6 +74,9 @@ build_mmio_write(__writel, "l", unsigned int, "r", ) | |||
| 74 | #define __raw_readw __readw | 74 | #define __raw_readw __readw |
| 75 | #define __raw_readl __readl | 75 | #define __raw_readl __readl |
| 76 | 76 | ||
| 77 | #define writeb_relaxed(v, a) __writeb(v, a) | ||
| 78 | #define writew_relaxed(v, a) __writew(v, a) | ||
| 79 | #define writel_relaxed(v, a) __writel(v, a) | ||
| 77 | #define __raw_writeb __writeb | 80 | #define __raw_writeb __writeb |
| 78 | #define __raw_writew __writew | 81 | #define __raw_writew __writew |
| 79 | #define __raw_writel __writel | 82 | #define __raw_writel __writel |
| @@ -86,6 +89,7 @@ build_mmio_read(readq, "q", unsigned long, "=r", :"memory") | |||
| 86 | build_mmio_write(writeq, "q", unsigned long, "r", :"memory") | 89 | build_mmio_write(writeq, "q", unsigned long, "r", :"memory") |
| 87 | 90 | ||
| 88 | #define readq_relaxed(a) readq(a) | 91 | #define readq_relaxed(a) readq(a) |
| 92 | #define writeq_relaxed(v, a) writeq(v, a) | ||
| 89 | 93 | ||
| 90 | #define __raw_readq(a) readq(a) | 94 | #define __raw_readq(a) readq(a) |
| 91 | #define __raw_writeq(val, addr) writeq(val, addr) | 95 | #define __raw_writeq(val, addr) writeq(val, addr) |
