v850: Update ioremap return type and add ioread/iowrite functions
PATCH 1/1 v850: Update ioremap return type and add ioread/iowrite functions
Signed-off-by Miles Bader <[email protected]>
include/asm-v850/io.h | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-)
include/asm-v850/io.h +24 -13
@@ -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 <[email protected]> +* Copyright (C) 2001,02,03,04,05 NEC Electronics Corporation +* Copyright (C) 2001,02,03,04,05 Miles Bader <[email protected]> * * 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
@@ -27,12 +27,12 @@#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 @@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 ()