[PATCH] v850: Update ioremap return type and add ioread/iowrite functions
authorMiles Bader <miles@gnu.org>
Wed, 27 Jul 2005 18:44:54 +0000 (11:44 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 27 Jul 2005 23:26:03 +0000 (16:26 -0700)
Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-v850/io.h

index bb5efd1..cc364fc 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * include/asm-v850/io.h -- Misc I/O operations
  *
- *  Copyright (C) 2001,02,03,04  NEC Electronics Corporation
- *  Copyright (C) 2001,02,03,04  Miles Bader <miles@gnu.org>
+ *  Copyright (C) 2001,02,03,04,05  NEC Electronics Corporation
+ *  Copyright (C) 2001,02,03,04,05  Miles Bader <miles@gnu.org>
  *
  * This file is subject to the terms and conditions of the GNU General
  * Public License.  See the file COPYING in the main directory of this
 #define readw_relaxed(a) readw(a)
 #define readl_relaxed(a) readl(a)
 
-#define writeb(b, addr) \
-  (void)((*(volatile unsigned char *) (addr)) = (b))
-#define writew(b, addr) \
-  (void)((*(volatile unsigned short *) (addr)) = (b))
-#define writel(b, addr) \
-  (void)((*(volatile unsigned int *) (addr)) = (b))
+#define writeb(val, addr) \
+  (void)((*(volatile unsigned char *) (addr)) = (val))
+#define writew(val, addr) \
+  (void)((*(volatile unsigned short *) (addr)) = (val))
+#define writel(val, addr) \
+  (void)((*(volatile unsigned int *) (addr)) = (val))
 
 #define __raw_readb readb
 #define __raw_readw readw
@@ -96,11 +96,22 @@ outsl (unsigned long port, const void *src, unsigned long count)
                outl (*p++, port);
 }
 
-#define iounmap(addr)                          ((void)0)
-#define ioremap(physaddr, size)                        (physaddr)
-#define ioremap_nocache(physaddr, size)                (physaddr)
-#define ioremap_writethrough(physaddr, size)   (physaddr)
-#define ioremap_fullcache(physaddr, size)      (physaddr)
+
+/* Some places try to pass in an loff_t for PHYSADDR (?!), so we cast it to
+   long before casting it to a pointer to avoid compiler warnings.  */
+#define ioremap(physaddr, size)        ((void __iomem *)(unsigned long)(physaddr))
+#define iounmap(addr)          ((void)0)
+
+#define ioremap_nocache(physaddr, size)                ioremap (physaddr, size)
+#define ioremap_writethrough(physaddr, size)   ioremap (physaddr, size)
+#define ioremap_fullcache(physaddr, size)      ioremap (physaddr, size)
+
+#define ioread8(addr)          readb (addr)
+#define ioread16(addr)         readw (addr)
+#define ioread32(addr)         readl (addr)
+#define iowrite8(val, addr)    writeb (val, addr)
+#define iowrite16(val, addr)   writew (val, addr)
+#define iowrite32(val, addr)   writel (val, addr)
 
 #define mmiowb()