mmc: sh_mmcif: Convert to __raw_xxx() I/O accessors.
authorPaul Mundt <lethal@linux-sh.org>
Fri, 14 Jan 2011 06:57:47 +0000 (15:57 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 14 Jan 2011 06:57:47 +0000 (15:57 +0900)
When using the I/O accessors in raw mode from the boot stubs we don't
want to bother with any of the complexity associated with readl/writel
and friends. Furthermore, utilization within the context of the host
driver itself is all performed on an ioremapped window, so using the
__raw variants there doesn't pose any problem either.

If and when barriers need to be added in the future, these will need to
be explicitly written out, but this is so far not a concern for any of
the affected CPUs in question.

This fixes up the link error introduced by the ARM tree via its barrier
refactoring:

arch/arm/boot/compressed/mmcif-sh7372.o: In function `mmcif_loader':
mmcif-sh7372.c:(.text+0x9e8): undefined reference to `outer_cache

Following the change in:

http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=6275/1

Reported-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
include/linux/mmc/sh_mmcif.h

index bf17350..38d3930 100644 (file)
@@ -94,12 +94,12 @@ struct sh_mmcif_plat_data {
 
 static inline u32 sh_mmcif_readl(void __iomem *addr, int reg)
 {
-       return readl(addr + reg);
+       return __raw_readl(addr + reg);
 }
 
 static inline void sh_mmcif_writel(void __iomem *addr, int reg, u32 val)
 {
-       writel(val, addr + reg);
+       __raw_writel(val, addr + reg);
 }
 
 #define SH_MMCIF_BBS 512 /* boot block size */