|
@@ -86,7 +86,7 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list)
|
|
|
struct pci_bus *bus;
|
|
|
struct pci_dev *dev;
|
|
|
int idx;
|
|
|
- struct resource *r, *pr;
|
|
|
+ struct resource *r;
|
|
|
|
|
|
/* Depth-First Search on bus tree */
|
|
|
for (ln=bus_list->next; ln != bus_list; ln=ln->next) {
|
|
@@ -96,8 +96,7 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list)
|
|
|
r = &dev->resource[idx];
|
|
|
if (!r->start)
|
|
|
continue;
|
|
|
- pr = pci_find_parent_resource(dev, r);
|
|
|
- if (!pr || request_resource(pr, r) < 0)
|
|
|
+ if (pci_claim_resource(dev, idx) < 0)
|
|
|
printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev));
|
|
|
}
|
|
|
}
|
|
@@ -110,7 +109,7 @@ static void __init pcibios_allocate_resources(int pass)
|
|
|
struct pci_dev *dev = NULL;
|
|
|
int idx, disabled;
|
|
|
u16 command;
|
|
|
- struct resource *r, *pr;
|
|
|
+ struct resource *r;
|
|
|
|
|
|
for_each_pci_dev(dev) {
|
|
|
pci_read_config_word(dev, PCI_COMMAND, &command);
|
|
@@ -127,8 +126,7 @@ static void __init pcibios_allocate_resources(int pass)
|
|
|
if (pass == disabled) {
|
|
|
DBG("PCI: Resource %08lx-%08lx (f=%lx, d=%d, p=%d)\n",
|
|
|
r->start, r->end, r->flags, disabled, pass);
|
|
|
- pr = pci_find_parent_resource(dev, r);
|
|
|
- if (!pr || request_resource(pr, r) < 0) {
|
|
|
+ if (pci_claim_resource(dev, idx) < 0) {
|
|
|
printk(KERN_ERR "PCI: Cannot allocate resource region %d of device %s\n", idx, pci_name(dev));
|
|
|
/* We'll assign a new address later */
|
|
|
r->end -= r->start;
|