ARM: footbridge: use fixed PCI i/o mapping
[linux-drm-fsl-dcu.git] / arch / arm / mach-footbridge / common.c
index 3e6aaa6361da5095761b0adcd6a5d04549481bc4..a42b369bc43914ba9e00e7eff8e800278d2daef1 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/spinlock.h>
+
 #include <asm/pgtable.h>
 #include <asm/page.h>
 #include <asm/irq.h>
@@ -26,6 +26,7 @@
 
 #include <asm/mach/irq.h>
 #include <asm/mach/map.h>
+#include <asm/mach/pci.h>
 
 #include "common.h"
 
@@ -175,11 +176,6 @@ static struct map_desc ebsa285_host_io_desc[] __initdata = {
                .pfn            = __phys_to_pfn(DC21285_PCI_IACK),
                .length         = PCIIACK_SIZE,
                .type           = MT_DEVICE,
-       }, {
-               .virtual        = PCIO_BASE,
-               .pfn            = __phys_to_pfn(DC21285_PCI_IO),
-               .length         = PCIO_SIZE,
-               .type           = MT_DEVICE,
        },
 #endif
 };
@@ -196,8 +192,10 @@ void __init footbridge_map_io(void)
         * Now, work out what we've got to map in addition on this
         * platform.
         */
-       if (footbridge_cfn_mode())
+       if (footbridge_cfn_mode()) {
                iotable_init(ebsa285_host_io_desc, ARRAY_SIZE(ebsa285_host_io_desc));
+               pci_map_io_early(__phys_to_pfn(DC21285_PCI_IO));
+       }
 }
 
 void footbridge_restart(char mode, const char *cmd)