bcma: Account for variable PCI memory base/size
authorNathan Hintz <nlhintz@hotmail.com>
Sat, 5 May 2012 04:56:33 +0000 (21:56 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 16 May 2012 16:46:04 +0000 (12:46 -0400)
PCI Memory Resource start address and size are variable, dependent on
the H/W configuration.  Modify the computation of io_map_base to use the
computed values.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/bcma/driver_pci_host.c

index d2097a11c3c7ae259f7e18dd4b5ff934c5ee85a9..8407b25984afb17f7a87d633753f7de0f423f889 100644 (file)
@@ -491,8 +491,8 @@ void __devinit bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc)
        /* Ok, ready to run, register it to the system.
         * The following needs change, if we want to port hostmode
         * to non-MIPS platform. */
-       io_map_base = (unsigned long)ioremap_nocache(BCMA_SOC_PCI_MEM,
-                                                    0x04000000);
+       io_map_base = (unsigned long)ioremap_nocache(pc_host->mem_resource.start,
+                                                    resource_size(&pc_host->mem_resource));
        pc_host->pci_controller.io_map_base = io_map_base;
        set_io_port_base(pc_host->pci_controller.io_map_base);
        /* Give some time to the PCI controller to configure itself with the new