diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-08 21:09:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-08 21:50:58 -0400 |
commit | 1622605cf6e15bfdc55a3dc78b792018edded435 (patch) | |
tree | c9ff2827d1f6f91501d9f5a05a71c8a3963f1455 | |
parent | 832504933757ba7913bf64cd574326e014215b41 (diff) |
[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>
-rw-r--r-- | arch/arm/mm/ioremap.c | 6 | ||||
-rw-r--r-- | 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 591fc3187c7f..465440592791 100644 --- a/arch/arm/mm/ioremap.c +++ b/arch/arm/mm/ioremap.c | |||
@@ -361,14 +361,14 @@ __ioremap(unsigned long phys_addr, size_t size, unsigned long flags) | |||
361 | } | 361 | } |
362 | EXPORT_SYMBOL(__ioremap); | 362 | EXPORT_SYMBOL(__ioremap); |
363 | 363 | ||
364 | void __iounmap(void __iomem *addr) | 364 | void __iounmap(volatile void __iomem *addr) |
365 | { | 365 | { |
366 | #ifndef CONFIG_SMP | 366 | #ifndef CONFIG_SMP |
367 | struct vm_struct **p, *tmp; | 367 | struct vm_struct **p, *tmp; |
368 | #endif | 368 | #endif |
369 | unsigned int section_mapping = 0; | 369 | unsigned int section_mapping = 0; |
370 | 370 | ||
371 | addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr); | 371 | addr = (volatile void __iomem *)(PAGE_MASK & (unsigned long)addr); |
372 | 372 | ||
373 | #ifndef CONFIG_SMP | 373 | #ifndef CONFIG_SMP |
374 | /* | 374 | /* |
@@ -395,6 +395,6 @@ void __iounmap(void __iomem *addr) | |||
395 | #endif | 395 | #endif |
396 | 396 | ||
397 | if (!section_mapping) | 397 | if (!section_mapping) |
398 | vunmap(addr); | 398 | vunmap((void __force *)addr); |
399 | } | 399 | } |
400 | EXPORT_SYMBOL(__iounmap); | 400 | EXPORT_SYMBOL(__iounmap); |
diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h index 8076a85c3675..34aaaac4f617 100644 --- a/include/asm-arm/io.h +++ b/include/asm-arm/io.h | |||
@@ -63,7 +63,7 @@ extern void __raw_readsl(const void __iomem *addr, void *data, int longlen); | |||
63 | */ | 63 | */ |
64 | extern void __iomem * __ioremap_pfn(unsigned long, unsigned long, size_t, unsigned long); | 64 | extern void __iomem * __ioremap_pfn(unsigned long, unsigned long, size_t, unsigned long); |
65 | extern void __iomem * __ioremap(unsigned long, size_t, unsigned long); | 65 | extern void __iomem * __ioremap(unsigned long, size_t, unsigned long); |
66 | extern void __iounmap(void __iomem *addr); | 66 | extern void __iounmap(volatile void __iomem *addr); |
67 | 67 | ||
68 | /* | 68 | /* |
69 | * Bad read/write accesses... | 69 | * Bad read/write accesses... |