summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2015-03-18 14:44:30 +0000
committerBen Dooks <ben.dooks@codethink.co.uk>2015-03-18 14:55:26 +0000
commite15f489f3eb38e48f71d266a74d2d2a06b0911b3 (patch)
treee24a13f37012a9a891e9ee987a55a56de02bdd82
parentee8b3f1130a5b3d86fbf1d937b2f4ce19d75d07d (diff)
downloadlinux-e15f489f3eb38e48f71d266a74d2d2a06b0911b3.tar.gz
spi: atmel: use endian agnostic IO
Use the endian agnositc IO functions instead of the __raw ones for when the driver is in use on big-endian systems. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> -- CC: Nicolas Ferre <nicolas.ferre@atmel.com> (supporter:ATMEL SPI DRIVER) CC: Mark Brown <broonie@kernel.org> (maintainer:SPI SUBSYSTEM) CC: linux-spi@vger.kernel.org (open list:SPI SUBSYSTEM)
-rw-r--r--drivers/spi/spi-atmel.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index 06de34001c66..a2f40b1b2225 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -180,11 +180,17 @@
| SPI_BF(name, value))
/* Register access macros */
+#ifdef CONFIG_AVR32
#define spi_readl(port, reg) \
__raw_readl((port)->regs + SPI_##reg)
#define spi_writel(port, reg, value) \
__raw_writel((value), (port)->regs + SPI_##reg)
-
+#else
+#define spi_readl(port, reg) \
+ readl_relaxed((port)->regs + SPI_##reg)
+#define spi_writel(port, reg, value) \
+ writel_relaxed((value), (port)->regs + SPI_##reg)
+#endif
/* use PIO for small transfers, avoiding DMA setup/teardown overhead and
* cache operations; better heuristics consider wordsize and bitrate.
*/