On SH, as of 37b7a97884ba64bf7d403351ac2a9476ab4f1bba we have to use the
endianess-agnostic I/O accessor functions.

In commit bf5f0019046d596d613caf74722ba4994e153899, Heiko fixed this for 32-bit
PowerPC; my patch now generalizes upon that.

The device is now recognized correctly for both litte-endian and big-endian
sh7785lcr, but I have not tested this any further, as the board is situated in
a remote data center.

Signed-off-by: Thomas Schwinge <tho...@codesourcery.com>
Cc: Paul Mundt <let...@linux-sh.org>
Cc: linux...@vger.kernel.org
Cc: Heiko Schocher <h...@denx.de>
Cc: Samuel Ortiz <sa...@linux.intel.com>
Cc: linux-fb...@vger.kernel.org
Cc: devicetree-disc...@ozlabs.org
Cc: Ben Dooks <b...@simtec.co.uk>
Cc: Vincent Sanders <vi...@simtec.co.uk>
Cc: Randy Dunlap <rdun...@xenotime.net>
---
 include/linux/sm501.h |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/include/linux/sm501.h b/include/linux/sm501.h
index 02fde50..0312e3c 100644
--- a/include/linux/sm501.h
+++ b/include/linux/sm501.h
@@ -173,10 +173,5 @@ struct sm501_platdata {
        unsigned int                     gpio_i2c_nr;
 };
 
-#if defined(CONFIG_PPC32)
-#define smc501_readl(addr)             ioread32be((addr))
-#define smc501_writel(val, addr)       iowrite32be((val), (addr))
-#else
-#define smc501_readl(addr)             readl(addr)
-#define smc501_writel(val, addr)       writel(val, addr)
-#endif
+#define smc501_readl(addr)             __raw_readl(addr)
+#define smc501_writel(val, addr)       __raw_writel(val, addr)
-- 
1.7.4.1

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to