[PATCH] 64bit resource: fix up printks for resources in pci core and hotplug drivers
[linux-2.6.git] / drivers / pci / setup-bus.c
index c1bdfb4..47c1071 100644 (file)
@@ -40,7 +40,7 @@
  * FIXME: IO should be max 256 bytes.  However, since we may
  * have a P2P bridge below a cardbus bridge, we need 4K.
  */
-#define CARDBUS_IO_SIZE                (4096)
+#define CARDBUS_IO_SIZE                (256)
 #define CARDBUS_MEM_SIZE       (32*1024*1024)
 
 static void __devinit
@@ -51,21 +51,16 @@ pbus_assign_resources_sorted(struct pci_bus *bus)
        struct resource_list head, *list, *tmp;
        int idx;
 
-       bus->bridge_ctl &= ~PCI_BRIDGE_CTL_VGA;
-
        head.next = NULL;
        list_for_each_entry(dev, &bus->devices, bus_list) {
                u16 class = dev->class >> 8;
 
-               /* Don't touch classless devices and host bridges.  */
+               /* Don't touch classless devices or host bridges or ioapics.  */
                if (class == PCI_CLASS_NOT_DEFINED ||
-                   class == PCI_CLASS_BRIDGE_HOST)
+                   class == PCI_CLASS_BRIDGE_HOST ||
+                   class == PCI_CLASS_SYSTEM_PIC)
                        continue;
 
-               if (class == PCI_CLASS_DISPLAY_VGA ||
-                   class == PCI_CLASS_NOT_DEFINED_VGA)
-                       bus->bridge_ctl |= PCI_BRIDGE_CTL_VGA;
-
                pdev_sort_resources(dev, &head);
        }
 
@@ -74,6 +69,7 @@ pbus_assign_resources_sorted(struct pci_bus *bus)
                idx = res - &list->dev->resource[0];
                if (pci_assign_resource(list->dev, idx)) {
                        res->start = 0;
+                       res->end = 0;
                        res->flags = 0;
                }
                tmp = list;
@@ -82,8 +78,7 @@ pbus_assign_resources_sorted(struct pci_bus *bus)
        }
 }
 
-static void __devinit
-pci_setup_cardbus(struct pci_bus *bus)
+void pci_setup_cardbus(struct pci_bus *bus)
 {
        struct pci_dev *bridge = bus->self;
        struct pci_bus_region region;
@@ -135,6 +130,7 @@ pci_setup_cardbus(struct pci_bus *bus)
                                        region.end);
        }
 }
+EXPORT_SYMBOL(pci_setup_cardbus);
 
 /* Initialize bridges with base/limit values we have collected.
    PCI-to-PCI Bridge Architecture Specification rev. 1.1 (1998)
@@ -361,8 +357,10 @@ pbus_size_mem(struct pci_bus *bus, unsigned long mask, unsigned long type)
                        order = __ffs(align) - 20;
                        if (order > 11) {
                                printk(KERN_WARNING "PCI: region %s/%d "
-                                      "too large: %lx-%lx\n",
-                                      pci_name(dev), i, r->start, r->end);
+                                      "too large: %llx-%llx\n",
+                                       pci_name(dev), i,
+                                       (unsigned long long)r->start,
+                                       (unsigned long long)r->end);
                                r->flags = 0;
                                continue;
                        }
@@ -508,12 +506,6 @@ pci_bus_assign_resources(struct pci_bus *bus)
 
        pbus_assign_resources_sorted(bus);
 
-       if (bus->bridge_ctl & PCI_BRIDGE_CTL_VGA) {
-               /* Propagate presence of the VGA to upstream bridges */
-               for (b = bus; b->parent; b = b->parent) {
-                       b->bridge_ctl |= PCI_BRIDGE_CTL_VGA;
-               }
-       }
        list_for_each_entry(dev, &bus->devices, bus_list) {
                b = dev->subordinate;
                if (!b)