sh: Set the default I/O port base to P2SEG.
authorPaul Mundt <lethal@linux-sh.org>
Mon, 28 Sep 2009 06:05:41 +0000 (15:05 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Sep 2009 06:05:41 +0000 (15:05 +0900)
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>
arch/sh/kernel/machvec.c

index 548f660..cbce639 100644 (file)
@@ -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);
 }