Skip to content

Commit

Permalink
[PATCH] arm: it's OK to pass pointer to volatile as iounmap() argumen…
Browse files Browse the repository at this point in the history
…t...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Al Viro authored and Linus Torvalds committed Oct 9, 2006
1 parent 8325049 commit 1622605
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions arch/arm/mm/ioremap.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
/*
Expand All @@ -395,6 +395,6 @@ void __iounmap(void __iomem *addr)
#endif

if (!section_mapping)
vunmap(addr);
vunmap((void __force *)addr);
}
EXPORT_SYMBOL(__iounmap);
2 changes: 1 addition & 1 deletion include/asm-arm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -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...
Expand Down

0 comments on commit 1622605

Please sign in to comment.