summaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-09-28 08:05:41 +0200
committerPaul Mundt <lethal@linux-sh.org>2009-09-28 08:05:41 +0200
commitd44ee12ad61ff7aa7a6344560bd430cb72fcbc27 (patch)
tree21932129bf2307261056ea2ff1ed61f4498a7b1f /arch/sh
parentsh: Handle ioport_map() cases for >= P1SEG addresses. (diff)
downloadlinux-d44ee12ad61ff7aa7a6344560bd430cb72fcbc27.tar.xz
linux-d44ee12ad61ff7aa7a6344560bd430cb72fcbc27.zip
sh: Set the default I/O port base to P2SEG.
This bumps up the default I/O base to P2SEG, which allows legacy probing to bail out gracefully rather than oopsing. Platforms that have a real PIO offset still need to fix this up on their own, although most platforms are content with P2SEG already. The previous change to teach ioport_map() about >= P1SEG offsets in combination with this patch allows both the already remapped and the legacy address probing to pass through and succeed. Fixes up an oops with i8042 on the sh7785lcr board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/machvec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c
index 548f6607fd0f..cbce639b108a 100644
--- a/arch/sh/kernel/machvec.c
+++ b/arch/sh/kernel/machvec.c
@@ -14,6 +14,7 @@
#include <linux/string.h>
#include <asm/machvec.h>
#include <asm/sections.h>
+#include <asm/addrspace.h>
#include <asm/setup.h>
#include <asm/io.h>
#include <asm/irq.h>
@@ -133,4 +134,6 @@ void __init sh_mv_setup(void)
if (!sh_mv.mv_nr_irqs)
sh_mv.mv_nr_irqs = NR_IRQS;
+
+ __set_io_port_base(P2SEG);
}