diff options
Diffstat (limited to 'arch/frv/mb93090-mb00/pci-frv.c')
| -rw-r--r-- | arch/frv/mb93090-mb00/pci-frv.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/frv/mb93090-mb00/pci-frv.c b/arch/frv/mb93090-mb00/pci-frv.c index 43d67534c712..566bdeb499d1 100644 --- a/arch/frv/mb93090-mb00/pci-frv.c +++ b/arch/frv/mb93090-mb00/pci-frv.c | |||
| @@ -86,7 +86,7 @@ static void __init pcibios_allocate_bus_resources(struct list_head *bus_list) | |||
| 86 | struct pci_bus *bus; | 86 | struct pci_bus *bus; |
| 87 | struct pci_dev *dev; | 87 | struct pci_dev *dev; |
| 88 | int idx; | 88 | int idx; |
| 89 | struct resource *r, *pr; | 89 | struct resource *r; |
| 90 | 90 | ||
| 91 | /* Depth-First Search on bus tree */ | 91 | /* Depth-First Search on bus tree */ |
| 92 | for (ln=bus_list->next; ln != bus_list; ln=ln->next) { | 92 | 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) | |||
| 96 | r = &dev->resource[idx]; | 96 | r = &dev->resource[idx]; |
| 97 | if (!r->start) | 97 | if (!r->start) |
| 98 | continue; | 98 | continue; |
| 99 | pr = pci_find_parent_resource(dev, r); | 99 | if (pci_claim_resource(dev, idx) < 0) |
| 100 | if (!pr || request_resource(pr, r) < 0) | ||
| 101 | printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev)); | 100 | printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev)); |
| 102 | } | 101 | } |
| 103 | } | 102 | } |
| @@ -110,7 +109,7 @@ static void __init pcibios_allocate_resources(int pass) | |||
| 110 | struct pci_dev *dev = NULL; | 109 | struct pci_dev *dev = NULL; |
| 111 | int idx, disabled; | 110 | int idx, disabled; |
| 112 | u16 command; | 111 | u16 command; |
| 113 | struct resource *r, *pr; | 112 | struct resource *r; |
| 114 | 113 | ||
| 115 | for_each_pci_dev(dev) { | 114 | for_each_pci_dev(dev) { |
| 116 | pci_read_config_word(dev, PCI_COMMAND, &command); | 115 | pci_read_config_word(dev, PCI_COMMAND, &command); |
| @@ -127,8 +126,7 @@ static void __init pcibios_allocate_resources(int pass) | |||
| 127 | if (pass == disabled) { | 126 | if (pass == disabled) { |
| 128 | DBG("PCI: Resource %08lx-%08lx (f=%lx, d=%d, p=%d)\n", | 127 | DBG("PCI: Resource %08lx-%08lx (f=%lx, d=%d, p=%d)\n", |
| 129 | r->start, r->end, r->flags, disabled, pass); | 128 | r->start, r->end, r->flags, disabled, pass); |
| 130 | pr = pci_find_parent_resource(dev, r); | 129 | if (pci_claim_resource(dev, idx) < 0) { |
| 131 | if (!pr || request_resource(pr, r) < 0) { | ||
| 132 | printk(KERN_ERR "PCI: Cannot allocate resource region %d of device %s\n", idx, pci_name(dev)); | 130 | printk(KERN_ERR "PCI: Cannot allocate resource region %d of device %s\n", idx, pci_name(dev)); |
| 133 | /* We'll assign a new address later */ | 131 | /* We'll assign a new address later */ |
| 134 | r->end -= r->start; | 132 | r->end -= r->start; |
