aboutsummaryrefslogtreecommitdiffstats
path: root/arch/frv/mb93090-mb00
diff options
context:
space:
mode:
authorBjorn Helgaas <bhelgaas@google.com>2013-10-22 22:55:46 -0400
committerBjorn Helgaas <bhelgaas@google.com>2013-10-29 18:55:58 -0400
commit9ba205c384fc27cc7ff761744b012f1956a7e3e4 (patch)
treec9588faa98781468c1edd4d31252da961f4293e7 /arch/frv/mb93090-mb00
parent869a16157d1ac92a61770be0bc1cf83fbe99d724 (diff)
frv/PCI: Remove pcibios_last_bus
pcibios_last_bus was apparently copied from x86. On FR-V, it is statically initialized to -1 and never changed unless the user boots with "pci=lastbus=<X>". I doubt that option is used on FR-V, so this patch removes all the code related to pcibios_last_bus. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch/frv/mb93090-mb00')
-rw-r--r--arch/frv/mb93090-mb00/pci-frv.h1
-rw-r--r--arch/frv/mb93090-mb00/pci-vdk.c36
2 files changed, 0 insertions, 37 deletions
diff --git a/arch/frv/mb93090-mb00/pci-frv.h b/arch/frv/mb93090-mb00/pci-frv.h
index 76c4e73d643d..a7e487fe76ed 100644
--- a/arch/frv/mb93090-mb00/pci-frv.h
+++ b/arch/frv/mb93090-mb00/pci-frv.h
@@ -30,7 +30,6 @@ void pcibios_resource_survey(void);
30 30
31/* pci-vdk.c */ 31/* pci-vdk.c */
32 32
33extern int __nongpreldata pcibios_last_bus;
34extern struct pci_ops *__nongpreldata pci_root_ops; 33extern struct pci_ops *__nongpreldata pci_root_ops;
35 34
36/* pci-irq.c */ 35/* pci-irq.c */
diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c
index deb67843693c..efa5d65b0007 100644
--- a/arch/frv/mb93090-mb00/pci-vdk.c
+++ b/arch/frv/mb93090-mb00/pci-vdk.c
@@ -25,7 +25,6 @@
25 25
26unsigned int __nongpreldata pci_probe = 1; 26unsigned int __nongpreldata pci_probe = 1;
27 27
28int __nongpreldata pcibios_last_bus = -1;
29struct pci_ops *__nongpreldata pci_root_ops; 28struct pci_ops *__nongpreldata pci_root_ops;
30 29
31/* 30/*
@@ -220,37 +219,6 @@ static struct pci_ops * __init pci_check_direct(void)
220} 219}
221 220
222/* 221/*
223 * Discover remaining PCI buses in case there are peer host bridges.
224 * We use the number of last PCI bus provided by the PCI BIOS.
225 */
226static void __init pcibios_fixup_peer_bridges(void)
227{
228 struct pci_bus bus;
229 struct pci_dev dev;
230 int n;
231 u16 l;
232
233 if (pcibios_last_bus <= 0 || pcibios_last_bus >= 0xff)
234 return;
235 printk("PCI: Peer bridge fixup\n");
236 for (n=0; n <= pcibios_last_bus; n++) {
237 if (pci_find_bus(0, n))
238 continue;
239 bus.number = n;
240 bus.ops = pci_root_ops;
241 dev.bus = &bus;
242 for(dev.devfn=0; dev.devfn<256; dev.devfn += 8)
243 if (!pci_read_config_word(&dev, PCI_VENDOR_ID, &l) &&
244 l != 0x0000 && l != 0xffff) {
245 printk("Found device at %02x:%02x [%04x]\n", n, dev.devfn, l);
246 printk("PCI: Discovered peer bus %02x\n", n);
247 pci_scan_bus(n, pci_root_ops, NULL);
248 break;
249 }
250 }
251}
252
253/*
254 * Exceptions for specific devices. Usually work-arounds for fatal design flaws. 222 * Exceptions for specific devices. Usually work-arounds for fatal design flaws.
255 */ 223 */
256 224
@@ -418,7 +386,6 @@ int __init pcibios_init(void)
418 pci_scan_root_bus(NULL, 0, pci_root_ops, NULL, &resources); 386 pci_scan_root_bus(NULL, 0, pci_root_ops, NULL, &resources);
419 387
420 pcibios_irq_init(); 388 pcibios_irq_init();
421 pcibios_fixup_peer_bridges();
422 pcibios_fixup_irqs(); 389 pcibios_fixup_irqs();
423 pcibios_resource_survey(); 390 pcibios_resource_survey();
424 391
@@ -432,9 +399,6 @@ char * __init pcibios_setup(char *str)
432 if (!strcmp(str, "off")) { 399 if (!strcmp(str, "off")) {
433 pci_probe = 0; 400 pci_probe = 0;
434 return NULL; 401 return NULL;
435 } else if (!strncmp(str, "lastbus=", 8)) {
436 pcibios_last_bus = simple_strtol(str+8, NULL, 0);
437 return NULL;
438 } 402 }
439 return str; 403 return str;
440} 404}