diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-11-12 08:36:26 +0100 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-11-12 08:36:26 +0100 |
commit | e9c58fc57b17bfa75c256fb4f45ce22de6626858 (patch) | |
tree | 0617f394e34af76156a8b1c10435b6cb5753c8fe /arch/sh/kernel | |
parent | sh: Fix up the CONFIG_PERF_EVENTS=n build for SH-4. (diff) | |
download | linux-e9c58fc57b17bfa75c256fb4f45ce22de6626858.tar.xz linux-e9c58fc57b17bfa75c256fb4f45ce22de6626858.zip |
sh: Use the generic I/O port base for slowdown.
This fixes up the build and behaviour for various configurations. Namely
the CONFIG_32BIT cases where legacy mappings do not exist, as well as the
sh64 build.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r-- | arch/sh/kernel/io_generic.c | 4 | ||||
-rw-r--r-- | arch/sh/kernel/machvec.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/arch/sh/kernel/io_generic.c b/arch/sh/kernel/io_generic.c index b8fa6524760a..e1e1dbd19557 100644 --- a/arch/sh/kernel/io_generic.c +++ b/arch/sh/kernel/io_generic.c @@ -24,7 +24,7 @@ #define dummy_read() #endif -unsigned long generic_io_base; +unsigned long generic_io_base = 0; u8 generic_inb(unsigned long port) { @@ -147,8 +147,10 @@ void generic_outsl(unsigned long port, const void *src, unsigned long count) void __iomem *generic_ioport_map(unsigned long addr, unsigned int size) { +#ifdef P1SEG if (PXSEG(addr) >= P1SEG) return (void __iomem *)addr; +#endif return (void __iomem *)(addr + generic_io_base); } diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c index cbce639b108a..1652340ba3f2 100644 --- a/arch/sh/kernel/machvec.c +++ b/arch/sh/kernel/machvec.c @@ -135,5 +135,9 @@ void __init sh_mv_setup(void) if (!sh_mv.mv_nr_irqs) sh_mv.mv_nr_irqs = NR_IRQS; +#ifdef P2SEG __set_io_port_base(P2SEG); +#else + __set_io_port_base(0); +#endif } |