[PATCH] arm: it's OK to pass pointer to volatile as iounmap() argument...

From: Al Viro
Date: Sun Oct 08 2006 - 21:10:24 EST


Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
---
arch/arm/mm/ioremap.c | 6 +++---
include/asm-arm/io.h | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
index 591fc31..4654405 100644
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@ -361,14 +361,14 @@ __ioremap(unsigned long phys_addr, size_
}
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 @@ #ifndef CONFIG_SMP
#endif

if (!section_mapping)
- vunmap(addr);
+ vunmap((void __force *)addr);
}
EXPORT_SYMBOL(__iounmap);
diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h
index 8076a85..34aaaac 100644
--- a/include/asm-arm/io.h
+++ b/include/asm-arm/io.h
@@ -63,7 +63,7 @@ #define __raw_readl(a) (__chk_io_ptr(a)
*/
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...
--
1.4.2.GIT

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/