diff options
Diffstat (limited to 'arch/frv/mb93090-mb00')
-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; |