]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-versatile/pci.c
Merge branches 'amba', 'devel-stable', 'fixes', 'mach-types', 'mmci', 'pci' and ...
[~andy/linux] / arch / arm / mach-versatile / pci.c
index a6e23f4645289675cf3be0501e90650772064b62..15c6a00000ec4604f7f491c2c11fdebccbc6982f 100644 (file)
@@ -190,7 +190,7 @@ static struct resource pre_mem = {
        .flags  = IORESOURCE_MEM | IORESOURCE_PREFETCH,
 };
 
-static int __init pci_versatile_setup_resources(struct list_head *resources)
+static int __init pci_versatile_setup_resources(struct pci_sys_data *sys)
 {
        int ret = 0;
 
@@ -218,9 +218,9 @@ static int __init pci_versatile_setup_resources(struct list_head *resources)
         * the mem resource for this bus
         * the prefetch mem resource for this bus
         */
-       pci_add_resource_offset(resources, &io_mem, sys->io_offset);
-       pci_add_resource_offset(resources, &non_mem, sys->mem_offset);
-       pci_add_resource_offset(resources, &pre_mem, sys->mem_offset);
+       pci_add_resource_offset(&sys->resources, &io_mem, sys->io_offset);
+       pci_add_resource_offset(&sys->resources, &non_mem, sys->mem_offset);
+       pci_add_resource_offset(&sys->resources, &pre_mem, sys->mem_offset);
 
        goto out;
 
@@ -249,7 +249,7 @@ int __init pci_versatile_setup(int nr, struct pci_sys_data *sys)
 
        if (nr == 0) {
                sys->mem_offset = 0;
-               ret = pci_versatile_setup_resources(&sys->resources);
+               ret = pci_versatile_setup_resources(sys);
                if (ret < 0) {
                        printk("pci_versatile_setup: resources... oops?\n");
                        goto out;
@@ -303,12 +303,6 @@ int __init pci_versatile_setup(int nr, struct pci_sys_data *sys)
 }
 
 
-struct pci_bus * __init pci_versatile_scan_bus(int nr, struct pci_sys_data *sys)
-{
-       return pci_scan_root_bus(NULL, sys->busnr, &pci_versatile_ops, sys,
-                                &sys->resources);
-}
-
 void __init pci_versatile_preinit(void)
 {
        pcibios_min_io = 0x44000000;
@@ -339,19 +333,16 @@ static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
         *  26     1     29
         *  27     1     30
         */
-       irq = 27 + ((slot + pin - 1) & 3);
-
-       printk("PCI map irq: slot %d, pin %d, devslot %d, irq: %d\n",slot,pin,devslot,irq);
+       irq = 27 + ((slot - 24 + pin - 1) & 3);
 
        return irq;
 }
 
 static struct hw_pci versatile_pci __initdata = {
-       .swizzle                = NULL,
        .map_irq                = versatile_map_irq,
        .nr_controllers         = 1,
+       .ops                    = &pci_versatile_ops,
        .setup                  = pci_versatile_setup,
-       .scan                   = pci_versatile_scan_bus,
        .preinit                = pci_versatile_preinit,
 };