]> err.no Git - linux-2.6/commitdiff
pci: debug extra pci bus resources
authorYinghai Lu <yhlu.kernel@gmail.com>
Mon, 23 Jun 2008 18:33:06 +0000 (20:33 +0200)
committerIngo Molnar <mingo@elte.hu>
Mon, 23 Jun 2008 19:57:21 +0000 (21:57 +0200)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
drivers/pci/setup-bus.c

index 8ddb918f5f57dfc0bdda3e4a287abe4c08bae365..c74a2bce083d3bc9c68646835f8f29faf07e2f93 100644 (file)
@@ -537,6 +537,36 @@ void __ref pci_bus_assign_resources(struct pci_bus *bus)
 }
 EXPORT_SYMBOL(pci_bus_assign_resources);
 
+static void pci_bus_dump_res(struct pci_bus *bus)
+{
+        int i;
+
+        for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) {
+                struct resource *res = bus->resource[i];
+                if (!res)
+                        continue;
+
+               printk(KERN_INFO "bus: %02x index %x %s: [%llx, %llx]\n", bus->number, i, (res->flags & IORESOURCE_IO)? "io port":"mmio", res->start, res->end);
+        }
+}
+
+static void pci_bus_dump_resources(struct pci_bus *bus)
+{
+       struct pci_bus *b;
+       struct pci_dev *dev;
+
+
+       pci_bus_dump_res(bus);
+
+       list_for_each_entry(dev, &bus->devices, bus_list) {
+               b = dev->subordinate;
+               if (!b)
+                       continue;
+
+               pci_bus_dump_resources(b);
+       }
+}
+
 void __init
 pci_assign_unassigned_resources(void)
 {
@@ -552,4 +582,9 @@ pci_assign_unassigned_resources(void)
                pci_bus_assign_resources(bus);
                pci_enable_bridges(bus);
        }
+
+       /* dump the resource on buses */
+       list_for_each_entry(bus, &pci_root_buses, node) {
+               pci_bus_dump_resources(bus);
+       }
 }