[PATCH 12/13] mmc: atmel-mci: use endian agnostic IO
Ben Dooks
ben.dooks at codethink.co.uk
Wed Mar 18 08:53:11 PDT 2015
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 at codethink.co.uk>
--
CC: Ludovic Desroches <ludovic.desroches at atmel.com>
CC: Chris Ball <chris at printf.net>
CC: Ulf Hansson <ulf.hansson at linaro.org>
CC: linux-mmc at vger.kernel.org
---
drivers/mmc/host/atmel-mci-regs.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/atmel-mci-regs.h b/drivers/mmc/host/atmel-mci-regs.h
index c97001e..711bb53 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
--
2.1.4
More information about the linux-arm-kernel
mailing list