From ac6190234ea8b9eb8818e09802ded2e6f39def7b Mon Sep 17 00:00:00 2001
From: Walter Goossens <walter.goossens@axon.tv>
Date: Wed, 9 Jan 2008 08:44:58 +0000
Subject: [PATCH] nios2: Add missing ioread and iowrite macros

Added the ioread8/16/32 and iowrite8/16/32 macros by copying them from
the sh port. These are required to be able to compile the opencores i2c
driver.

Signed-off-by: Walter Goossens <walter.goossens@axon.tv>
---
 linux-2.6.x/include/asm-nios2nommu/io.h |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/linux-2.6.x/include/asm-nios2nommu/io.h b/linux-2.6.x/include/asm-nios2nommu/io.h
index 73a5c17..c5676dc 100644
--- a/linux-2.6.x/include/asm-nios2nommu/io.h
+++ b/linux-2.6.x/include/asm-nios2nommu/io.h
@@ -111,6 +111,27 @@ extern void outsl(unsigned long port, void *src, unsigned long count);
 #define __raw_writew writew
 #define __raw_writel writel
 
+/* Simple MMIO */
+#define ioread8(a)    readb(a)
+#define ioread16(a)   readw(a)
+#define ioread16be(a)   be16_to_cpu(__raw_readw((a)))
+#define ioread32(a)   readl(a)
+#define ioread32be(a)   be32_to_cpu(__raw_readl((a)))
+
+#define iowrite8(v,a)   writeb((v),(a))
+#define iowrite16(v,a)    writew((v),(a))
+#define iowrite16be(v,a)  __raw_writew(cpu_to_be16((v)),(a))
+#define iowrite32(v,a)    writel((v),(a))
+#define iowrite32be(v,a)  __raw_writel(cpu_to_be32((v)),(a))
+
+#define ioread8_rep(a,d,c)  insb((a),(d),(c))
+#define ioread16_rep(a,d,c) insw((a),(d),(c))
+#define ioread32_rep(a,d,c) insl((a),(d),(c))
+
+#define iowrite8_rep(a,s,c) outsb((a),(s),(c))
+#define iowrite16_rep(a,s,c)  outsw((a),(s),(c))
+#define iowrite32_rep(a,s,c)  outsl((a),(s),(c))
+
 #define mmiowb()
 
 /*
-- 
1.5.3.3

