Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[sfrench/cifs-2.6.git] / arch / mips / pci / pci-bcm1480.c
index 47f316c86ab166bad9635423bf15b865c9eb9465..87e2c8f54e2d683965854150681a7fa58c6c9941 100644 (file)
@@ -178,15 +178,15 @@ struct pci_ops bcm1480_pci_ops = {
 
 static struct resource bcm1480_mem_resource = {
        .name   = "BCM1480 PCI MEM",
-       .start  = 0x30000000UL,
-       .end    = 0x3fffffffUL,
+       .start  = A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES,
+       .end    = A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES + 0xfffffffUL,
        .flags  = IORESOURCE_MEM,
 };
 
 static struct resource bcm1480_io_resource = {
        .name   = "BCM1480 PCI I/O",
-       .start  = 0x2c000000UL,
-       .end    = 0x2dffffffUL,
+       .start  = A_BCM1480_PHYS_PCI_IO_MATCH_BYTES,
+       .end    = A_BCM1480_PHYS_PCI_IO_MATCH_BYTES + 0x1ffffffUL,
        .flags  = IORESOURCE_IO,
 };
 
@@ -194,6 +194,7 @@ struct pci_controller bcm1480_controller = {
        .pci_ops        = &bcm1480_pci_ops,
        .mem_resource   = &bcm1480_mem_resource,
        .io_resource    = &bcm1480_io_resource,
+       .io_offset      = A_BCM1480_PHYS_PCI_IO_MATCH_BYTES,
 };
 
 
@@ -249,8 +250,10 @@ static int __init bcm1480_pcibios_init(void)
         * XXX ehs: Should this happen in PCI Device mode?
         */
 
-       set_io_port_base((unsigned long)
-               ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536));
+       bcm1480_controller.io_map_base = (unsigned long)
+               ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536);
+       bcm1480_controller.io_map_base -= bcm1480_controller.io_offset;
+       set_io_port_base(bcm1480_controller.io_map_base);
        isa_slot_offset = (unsigned long)
                ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024);