Revert "PCI: remove transparent bridge sizing"
[sfrench/cifs-2.6.git] / drivers / pci / setup-bus.c
index 8a7232feb553ffefd7dfe8f6207bcc0722dc186f..f7cb8e0758b48a5b7c49e0099d0c3cbc60ae23d8 100644 (file)
@@ -206,10 +206,8 @@ pci_setup_bridge(struct pci_bus *bus)
        if (bus->resource[2]->flags & IORESOURCE_PREFETCH) {
                l = (region.start >> 16) & 0xfff0;
                l |= region.end & 0xfff00000;
-#ifdef CONFIG_RESOURCES_64BIT
-               bu = region.start >> 32;
-               lu = region.end >> 32;
-#endif
+               bu = upper_32_bits(region.start);
+               lu = upper_32_bits(region.end);
                DBG(KERN_INFO "  PREFETCH window: 0x%016llx-0x%016llx\n",
                    (unsigned long long)region.start,
                    (unsigned long long)region.end);
@@ -456,7 +454,7 @@ pci_bus_size_cardbus(struct pci_bus *bus)
        }
 }
 
-void pci_bus_size_bridges(struct pci_bus *bus)
+void __ref pci_bus_size_bridges(struct pci_bus *bus)
 {
        struct pci_dev *dev;
        unsigned long mask, prefmask;
@@ -488,12 +486,7 @@ void pci_bus_size_bridges(struct pci_bus *bus)
                break;
 
        case PCI_CLASS_BRIDGE_PCI:
-               /* don't size subtractive decoding (transparent)
-                * PCI-to-PCI bridges */
-               if (bus->self->transparent)
-                       break;
                pci_bridge_check_ranges(bus);
-               /* fall through */
        default:
                pbus_size_io(bus);
                /* If the bridge supports prefetchable range, size it
@@ -511,7 +504,7 @@ void pci_bus_size_bridges(struct pci_bus *bus)
 }
 EXPORT_SYMBOL(pci_bus_size_bridges);
 
-void pci_bus_assign_resources(struct pci_bus *bus)
+void __ref pci_bus_assign_resources(struct pci_bus *bus)
 {
        struct pci_bus *b;
        struct pci_dev *dev;