diff options
author | Magnus Damm <damm@igel.co.jp> | 2009-04-30 05:56:37 +0200 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-04-30 05:56:37 +0200 |
commit | e6be3a25861429166f945499c7ee616875bc3db9 (patch) | |
tree | b6eb123d55974846ce83665e786877a69bdeffef /arch/sh/include/asm/io.h | |
parent | sh: register the rtc-generic platform device properly. (diff) | |
download | linux-e6be3a25861429166f945499c7ee616875bc3db9.tar.xz linux-e6be3a25861429166f945499c7ee616875bc3db9.zip |
sh: pass through ioremap() for non-mmu processors.
All 32-bit SuperH processors currently go through __ioremap_mode()
and check for IO_TRAPPED and directly mapped segments. With this
patch we simplify the MMU less case with a pass through version of
__ioremap_mode() which just returns the physical address.
The effects of this is change are:
- fix non-MMU ioremap() of high address hardware blocks (sh7203 CMT)
- make sure IO_TRAPPED is not selected
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/io.h')
-rw-r--r-- | arch/sh/include/asm/io.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h index 0454f8d68059..ef217344afcb 100644 --- a/arch/sh/include/asm/io.h +++ b/arch/sh/include/asm/io.h @@ -228,12 +228,6 @@ void __iounmap(void __iomem *addr); unsigned long onchip_remap(unsigned long addr, unsigned long size, const char *name); extern void onchip_unmap(unsigned long vaddr); -#else -#define __ioremap(offset, size, flags) ((void __iomem *)(offset)) -#define __iounmap(addr) do { } while (0) -#define onchip_remap(addr, size, name) (addr) -#define onchip_unmap(addr) do { } while (0) -#endif /* CONFIG_MMU */ static inline void __iomem * __ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags) @@ -268,6 +262,12 @@ __ioremap_mode(unsigned long offset, unsigned long size, unsigned long flags) return __ioremap(offset, size, flags); } +#else +#define onchip_remap(addr, size, name) (addr) +#define onchip_unmap(addr) do { } while (0) +#define __ioremap_mode(offset, size, flags) ((void __iomem *)(offset)) +#define __iounmap(addr) do { } while (0) +#endif /* CONFIG_MMU */ #define ioremap(offset, size) \ __ioremap_mode((offset), (size), 0) |