summaryrefslogtreecommitdiff
path: root/arch/sh/include/asm/io.h
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2010-02-03 01:10:39 +0300
committerJiri Kosina <jkosina@suse.cz>2010-02-03 01:10:39 +0300
commite1a0bdd8022317e98650e70850de73eccfcde5ad (patch)
tree462f63307118b95c8cbacee6954e4d09ee85b8d1 /arch/sh/include/asm/io.h
parent8127f4e883666c9960cfa89cffd36313748f8bab (diff)
parent1a45dcfe2525e9432cb4aba461d4994fc2befe42 (diff)
downloadlinux-e1a0bdd8022317e98650e70850de73eccfcde5ad.tar.xz
Merge branch 'master' into upstream
Conflicts: drivers/hid/hid-ids.h
Diffstat (limited to 'arch/sh/include/asm/io.h')
-rw-r--r--arch/sh/include/asm/io.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index 512cd3e9d0ca..026dd659a640 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -233,11 +233,17 @@ unsigned long long poke_real_address_q(unsigned long long addr,
* doesn't exist, so everything must go through page tables.
*/
#ifdef CONFIG_MMU
-void __iomem *__ioremap(unsigned long offset, unsigned long size,
- unsigned long flags);
+void __iomem *__ioremap_caller(unsigned long offset, unsigned long size,
+ unsigned long flags, void *caller);
void __iounmap(void __iomem *addr);
static inline void __iomem *
+__ioremap(unsigned long offset, unsigned long size, unsigned long flags)
+{
+ return __ioremap_caller(offset, size, flags, __builtin_return_address(0));
+}
+
+static inline void __iomem *
__ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags)
{
#if defined(CONFIG_SUPERH32) && !defined(CONFIG_PMB_FIXED) && !defined(CONFIG_PMB)
@@ -271,6 +277,7 @@ __ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags)
return __ioremap(offset, size, flags);
}
#else
+#define __ioremap(offset, size, flags) ((void __iomem *)(offset))
#define __ioremap_mode(offset, size, flags) ((void __iomem *)(offset))
#define __iounmap(addr) do { } while (0)
#endif /* CONFIG_MMU */