ARM: io: make iounmap() a simple macro
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 8 Dec 2010 13:49:04 +0000 (13:49 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 8 Dec 2010 13:57:04 +0000 (13:57 +0000)
Defining iounmap() with arguments prevents it from being used as a
function pointer, causing platforms to work around this.  Instead,
define it to be a simple macro.

Do the same for __arch_io(re|un)map too.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/io.h
arch/arm/mach-davinci/include/mach/io.h
arch/arm/mach-iop13xx/include/mach/io.h
arch/arm/mach-iop32x/include/mach/io.h
arch/arm/mach-iop33x/include/mach/io.h
arch/arm/mach-ixp23xx/include/mach/io.h
arch/arm/mach-ixp4xx/include/mach/io.h
arch/arm/mach-kirkwood/include/mach/io.h
arch/arm/mach-orion5x/include/mach/io.h
arch/arm/mach-tegra/include/mach/io.h
arch/arm/plat-omap/include/plat/io.h

index 815efa2..91be1f8 100644 (file)
@@ -245,13 +245,13 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
 #define ioremap_nocache(cookie,size)   __arm_ioremap(cookie, size, MT_DEVICE)
 #define ioremap_cached(cookie,size)    __arm_ioremap(cookie, size, MT_DEVICE_CACHED)
 #define ioremap_wc(cookie,size)                __arm_ioremap(cookie, size, MT_DEVICE_WC)
-#define iounmap(cookie)                        __iounmap(cookie)
+#define iounmap                                __iounmap
 #else
 #define ioremap(cookie,size)           __arch_ioremap((cookie), (size), MT_DEVICE)
 #define ioremap_nocache(cookie,size)   __arch_ioremap((cookie), (size), MT_DEVICE)
 #define ioremap_cached(cookie,size)    __arch_ioremap((cookie), (size), MT_DEVICE_CACHED)
 #define ioremap_wc(cookie,size)                __arch_ioremap((cookie), (size), MT_DEVICE_WC)
-#define iounmap(cookie)                        __arch_iounmap(cookie)
+#define iounmap                                __arch_iounmap
 #endif
 
 /*
index 62b0a90..d1b9549 100644 (file)
@@ -22,8 +22,8 @@
 #define __mem_isa(a)           (a)
 
 #ifndef __ASSEMBLER__
-#define __arch_ioremap(p, s, t)        davinci_ioremap(p, s, t)
-#define __arch_iounmap(v)      davinci_iounmap(v)
+#define __arch_ioremap         davinci_ioremap
+#define __arch_iounmap         davinci_iounmap
 
 void __iomem *davinci_ioremap(unsigned long phys, size_t size,
                              unsigned int type);
index a6e0f9e..dffb234 100644 (file)
@@ -35,7 +35,7 @@ extern u32 iop13xx_atux_mem_base;
 extern size_t iop13xx_atue_mem_size;
 extern size_t iop13xx_atux_mem_size;
 
-#define __arch_ioremap(a, s, f) __iop13xx_ioremap(a, s, f)
-#define __arch_iounmap(a)       __iop13xx_iounmap(a)
+#define __arch_ioremap __iop13xx_ioremap
+#define __arch_iounmap __iop13xx_iounmap
 
 #endif
index 339e585..059c783 100644 (file)
@@ -21,7 +21,7 @@ extern void __iop3xx_iounmap(void __iomem *addr);
 #define __io(p)                ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p))
 #define __mem_pci(a)           (a)
 
-#define __arch_ioremap(a, s, f) __iop3xx_ioremap(a, s, f)
-#define __arch_iounmap(a)       __iop3xx_iounmap(a)
+#define __arch_ioremap __iop3xx_ioremap
+#define __arch_iounmap __iop3xx_iounmap
 
 #endif
index e99a7ed..39e893e 100644 (file)
@@ -21,7 +21,7 @@ extern void __iop3xx_iounmap(void __iomem *addr);
 #define __io(p)                ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p))
 #define __mem_pci(a)           (a)
 
-#define __arch_ioremap(a, s, f) __iop3xx_ioremap(a, s, f)
-#define __arch_iounmap(a)       __iop3xx_iounmap(a)
+#define __arch_ioremap __iop3xx_ioremap
+#define __arch_iounmap __iop3xx_iounmap
 
 #endif
index fd9ef8e..a1749d0 100644 (file)
@@ -45,8 +45,8 @@ ixp23xx_iounmap(void __iomem *addr)
        __iounmap(addr);
 }
 
-#define __arch_ioremap(a,s,f)  ixp23xx_ioremap(a,s,f)
-#define __arch_iounmap(a)      ixp23xx_iounmap(a)
+#define __arch_ioremap ixp23xx_ioremap
+#define __arch_iounmap ixp23xx_iounmap
 
 
 #endif
index de274a1..57b5410 100644 (file)
@@ -74,8 +74,8 @@ static inline void __indirect_iounmap(void __iomem *addr)
                __iounmap(addr);
 }
 
-#define __arch_ioremap(a, s, f)                __indirect_ioremap(a, s, f)
-#define __arch_iounmap(a)              __indirect_iounmap(a)
+#define __arch_ioremap                 __indirect_ioremap
+#define __arch_iounmap                 __indirect_iounmap
 
 #define writeb(v, p)                   __indirect_writeb(v, p)
 #define writew(v, p)                   __indirect_writew(v, p)
index 44e8be0..1aaddc3 100644 (file)
@@ -42,8 +42,8 @@ __arch_iounmap(void __iomem *addr)
                __iounmap(addr);
 }
 
-#define __arch_ioremap(p, s, m)        __arch_ioremap(p, s, m)
-#define __arch_iounmap(a)      __arch_iounmap(a)
+#define __arch_ioremap         __arch_ioremap
+#define __arch_iounmap         __arch_iounmap
 #define __io(a)                        __io(a)
 #define __mem_pci(a)           (a)
 
index c47b033..c519610 100644 (file)
@@ -38,8 +38,8 @@ __arch_iounmap(void __iomem *addr)
                __iounmap(addr);
 }
 
-#define __arch_ioremap(p, s, m)        __arch_ioremap(p, s, m)
-#define __arch_iounmap(a)      __arch_iounmap(a)
+#define __arch_ioremap         __arch_ioremap
+#define __arch_iounmap         __arch_iounmap
 #define __io(a)                        __typesafe_io(a)
 #define __mem_pci(a)           (a)
 
index f0981b1..4cea223 100644 (file)
@@ -65,8 +65,8 @@
 
 #ifndef __ASSEMBLER__
 
-#define __arch_ioremap(p, s, t)        tegra_ioremap(p, s, t)
-#define __arch_iounmap(v)      tegra_iounmap(v)
+#define __arch_ioremap         tegra_ioremap
+#define __arch_iounmap         tegra_iounmap
 
 void __iomem *tegra_ioremap(unsigned long phys, size_t size, unsigned int type);
 void tegra_iounmap(volatile void __iomem *addr);
index 128b549..204865f 100644 (file)
@@ -294,8 +294,8 @@ static inline void omap44xx_map_common_io(void)
 extern void omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
                                 struct omap_sdrc_params *sdrc_cs1);
 
-#define __arch_ioremap(p,s,t)  omap_ioremap(p,s,t)
-#define __arch_iounmap(v)      omap_iounmap(v)
+#define __arch_ioremap omap_ioremap
+#define __arch_iounmap omap_iounmap
 
 void __iomem *omap_ioremap(unsigned long phys, size_t size, unsigned int type);
 void omap_iounmap(volatile void __iomem *addr);