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 815efa2d4e07b5087e31965a06fc05c1fdfd9fa0..91be1f8c2d256d1d29c61a6caaf0e6b21672dc3b 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 62b0a90309adff1a817b2953c4b689b39f7b58ba..d1b954955c1242321dc296056d70d4d849db5555 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 a6e0f9e6ddcf4136147eb7dbd78bdab7dfa9b489..dffb234bb967ec9b3e76384a8c9af699747dea12 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 339e5854728b5f1f3d1434d8570567b3bc6b2fc8..059c783ce0b2c8651ed5864b8fe4a047894e67d9 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 e99a7ed6d0502e0390ccb9f0e4de0c2f7890ba2c..39e893e97c212ba8b67875ee56fcb708189e4460 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 fd9ef8e519f7dee6c3ea9cbfd7b4e2bca9d96f37..a1749d0fd8961df2d2f57068950660146b325302 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 de274a1f19d76a95d715b0d3b05d44469171d3a2..57b5410c31f40dc9db120b0b8f04b0e55c0912d6 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 44e8be04f25929b6ef792ac75af0b540a09841d5..1aaddc364f2e6259eca95e6bd4e815322fb67673 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 c47b033bd999e67588e037522aa897aefae6bc12..c5196101a237ac960ccd1eefce8792e6483a8a93 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 f0981b1ac59eea58d65a1bbd251ad660deb80a0f..4cea2230c8dc92a41fb351b41d613e76fa0811ff 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 128b549c2796012bf0079ac94a1795423cd233eb..204865f91d93c469c609dcd15aafb6f1a7816334 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);