diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-09 20:25:00 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-09 20:25:00 -0500 |
commit | a0e4467726cd26bacb16f13d207ffcfa82ffc07d (patch) | |
tree | 98b5fcbda0cd787b07d09da90d25c87b3883c567 /arch/m68k/include | |
parent | ed8efd2de75479a175bd21df073d9e97df65a820 (diff) | |
parent | cb61f6769b8836081940ba26249f1b756400c7df (diff) |
Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
Pull asm-generic asm/io.h rewrite from Arnd Bergmann:
"While there normally is no reason to have a pull request for
asm-generic but have all changes get merged through whichever tree
needs them, I do have a series for 3.19.
There are two sets of patches that change significant portions of
asm/io.h, and this branch contains both in order to resolve the
conflicts:
- Will Deacon has done a set of patches to ensure that all
architectures define {read,write}{b,w,l,q}_relaxed() functions or
get them by including asm-generic/io.h.
These functions are commonly used on ARM specific drivers to avoid
expensive L2 cache synchronization implied by the normal
{read,write}{b,w,l,q}, but we need to define them on all
architectures in order to share the drivers across architectures
and to enable CONFIG_COMPILE_TEST configurations for them
- Thierry Reding has done an unrelated set of patches that extends
the asm-generic/io.h file to the degree necessary to make it useful
on ARM64 and potentially other architectures"
* tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (29 commits)
ARM64: use GENERIC_PCI_IOMAP
sparc: io: remove duplicate relaxed accessors on sparc32
ARM: sa11x0: Use void __iomem * in MMIO accessors
arm64: Use include/asm-generic/io.h
ARM: Use include/asm-generic/io.h
asm-generic/io.h: Implement generic {read,write}s*()
asm-generic/io.h: Reconcile I/O accessor overrides
/dev/mem: Use more consistent data types
Change xlate_dev_{kmem,mem}_ptr() prototypes
ARM: ixp4xx: Properly override I/O accessors
ARM: ixp4xx: Fix build with IXP4XX_INDIRECT_PCI
ARM: ebsa110: Properly override I/O accessors
ARC: Remove redundant PCI_IOBASE declaration
documentation: memory-barriers: clarify relaxed io accessor semantics
x86: io: implement dummy relaxed accessor macros for writes
tile: io: implement dummy relaxed accessor macros for writes
sparc: io: implement dummy relaxed accessor macros for writes
powerpc: io: implement dummy relaxed accessor macros for writes
parisc: io: implement dummy relaxed accessor macros for writes
mn10300: io: implement dummy relaxed accessor macros for writes
...
Diffstat (limited to 'arch/m68k/include')
-rw-r--r-- | arch/m68k/include/asm/io.h | 8 | ||||
-rw-r--r-- | arch/m68k/include/asm/io_no.h | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h index c70cc9155003..bccd5a914eb6 100644 --- a/arch/m68k/include/asm/io.h +++ b/arch/m68k/include/asm/io.h | |||
@@ -3,3 +3,11 @@ | |||
3 | #else | 3 | #else |
4 | #include <asm/io_mm.h> | 4 | #include <asm/io_mm.h> |
5 | #endif | 5 | #endif |
6 | |||
7 | #define readb_relaxed(addr) readb(addr) | ||
8 | #define readw_relaxed(addr) readw(addr) | ||
9 | #define readl_relaxed(addr) readl(addr) | ||
10 | |||
11 | #define writeb_relaxed(b, addr) writeb(b, addr) | ||
12 | #define writew_relaxed(b, addr) writew(b, addr) | ||
13 | #define writel_relaxed(b, addr) writel(b, addr) | ||
diff --git a/arch/m68k/include/asm/io_no.h b/arch/m68k/include/asm/io_no.h index be4b5a813ad4..a93c8cde4d38 100644 --- a/arch/m68k/include/asm/io_no.h +++ b/arch/m68k/include/asm/io_no.h | |||
@@ -40,10 +40,6 @@ static inline unsigned int _swapl(volatile unsigned long v) | |||
40 | #define readl(addr) \ | 40 | #define readl(addr) \ |
41 | ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; }) | 41 | ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; }) |
42 | 42 | ||
43 | #define readb_relaxed(addr) readb(addr) | ||
44 | #define readw_relaxed(addr) readw(addr) | ||
45 | #define readl_relaxed(addr) readl(addr) | ||
46 | |||
47 | #define writeb(b,addr) (void)((*(volatile unsigned char *) (addr)) = (b)) | 43 | #define writeb(b,addr) (void)((*(volatile unsigned char *) (addr)) = (b)) |
48 | #define writew(b,addr) (void)((*(volatile unsigned short *) (addr)) = (b)) | 44 | #define writew(b,addr) (void)((*(volatile unsigned short *) (addr)) = (b)) |
49 | #define writel(b,addr) (void)((*(volatile unsigned int *) (addr)) = (b)) | 45 | #define writel(b,addr) (void)((*(volatile unsigned int *) (addr)) = (b)) |