[PATCH] arm: it's OK to pass pointer to volatile as iounmap() argument...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
8325049337
commit
1622605cf6
|
@ -361,14 +361,14 @@ __ioremap(unsigned long phys_addr, size_t size, unsigned long flags)
|
|||
}
|
||||
EXPORT_SYMBOL(__ioremap);
|
||||
|
||||
void __iounmap(void __iomem *addr)
|
||||
void __iounmap(volatile void __iomem *addr)
|
||||
{
|
||||
#ifndef CONFIG_SMP
|
||||
struct vm_struct **p, *tmp;
|
||||
#endif
|
||||
unsigned int section_mapping = 0;
|
||||
|
||||
addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr);
|
||||
addr = (volatile void __iomem *)(PAGE_MASK & (unsigned long)addr);
|
||||
|
||||
#ifndef CONFIG_SMP
|
||||
/*
|
||||
|
@ -395,6 +395,6 @@ void __iounmap(void __iomem *addr)
|
|||
#endif
|
||||
|
||||
if (!section_mapping)
|
||||
vunmap(addr);
|
||||
vunmap((void __force *)addr);
|
||||
}
|
||||
EXPORT_SYMBOL(__iounmap);
|
||||
|
|
|
@ -63,7 +63,7 @@ extern void __raw_readsl(const void __iomem *addr, void *data, int longlen);
|
|||
*/
|
||||
extern void __iomem * __ioremap_pfn(unsigned long, unsigned long, size_t, unsigned long);
|
||||
extern void __iomem * __ioremap(unsigned long, size_t, unsigned long);
|
||||
extern void __iounmap(void __iomem *addr);
|
||||
extern void __iounmap(volatile void __iomem *addr);
|
||||
|
||||
/*
|
||||
* Bad read/write accesses...
|
||||
|
|
Loading…
Reference in New Issue