summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2015-03-18 15:03:47 +0000
committerBen Dooks <ben.dooks@codethink.co.uk>2015-03-18 15:03:57 +0000
commit1690ad0ceb9150311ca0a861118c53fb30328835 (patch)
tree91703b202ca03f936fab2f1239f5e98f7809f9eb
parentedcccd2164a1bc3a48610e1ad2021f8740fe5e02 (diff)
downloadlinux-baserock/bjdooks/atsam-be1.tar.gz
mmc: atmel-mci: use endian agnostic IObaserock/bjdooks/atsam-be1
Change the __raw IO functions to endian agnostic relaxed ones to allow the driver to function on big endian ARM systems. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> -- CC: Ludovic Desroches <ludovic.desroches@atmel.com> CC: Chris Ball <chris@printf.net> CC: Ulf Hansson <ulf.hansson@linaro.org> CC: linux-mmc@vger.kernel.org
-rw-r--r--drivers/mmc/host/atmel-mci-regs.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mmc/host/atmel-mci-regs.h b/drivers/mmc/host/atmel-mci-regs.h
index c97001e15227..711bb53a3f5f 100644
--- a/drivers/mmc/host/atmel-mci-regs.h
+++ b/drivers/mmc/host/atmel-mci-regs.h
@@ -135,10 +135,17 @@
#define ATMCI_REGS_SIZE 0x100
/* Register access macros */
-#define atmci_readl(port,reg) \
+#ifdef CONFIG_AVR32
+#define atmci_readl(port,reg) \
__raw_readl((port)->regs + reg)
#define atmci_writel(port,reg,value) \
__raw_writel((value), (port)->regs + reg)
+#else
+#define atmci_readl(port,reg) \
+ readl_relaxed((port)->regs + reg)
+#define atmci_writel(port,reg,value) \
+ writel_relaxed((value), (port)->regs + reg)
+#endif
/* On AVR chips the Peripheral DMA Controller is not connected to MCI. */
#ifdef CONFIG_AVR32