Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0b7bd08 authored by Russell King's avatar Russell King
Browse files

ARM: io: make iounmap() a simple macro



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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent cf7d7e5a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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

/*
+2 −2
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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
Loading