Use <linux/atmel_io.h> to provide IO accessors which work on both
AVR32 and ARM for on-chip peripherals.

Signed-off-by: Ben Dooks <ben.do...@codethink.co.uk>
--
CC: Nicolas Ferre <nicolas.fe...@atmel.com> (supporter:ATMEL SPI DRIVER)
CC: Mark Brown <broo...@kernel.org> (maintainer:SPI SUBSYSTEM)
CC: linux-spi@vger.kernel.org (open list:SPI SUBSYSTEM)
CC: linux-arm-ker...@lists.infradead.org
---
 drivers/spi/spi-atmel.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index a2f40b1..f10cc75 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -25,6 +25,7 @@
 
 #include <linux/io.h>
 #include <linux/gpio.h>
+#include <linux/atmel_io.h>
 #include <linux/pinctrl/consumer.h>
 #include <linux/pm_runtime.h>
 
@@ -180,17 +181,11 @@
          | SPI_BF(name, value))
 
 /* Register access macros */
-#ifdef CONFIG_AVR32
 #define spi_readl(port, reg) \
-       __raw_readl((port)->regs + SPI_##reg)
+       atmel_oc_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
+       atmel_oc_writel((value), (port)->regs + SPI_##reg)
+
 /* use PIO for small transfers, avoiding DMA setup/teardown overhead and
  * cache operations; better heuristics consider wordsize and bitrate.
  */
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to