]> err.no Git - linux-2.6/blobdiff - arch/powerpc/kernel/of_platform.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfi...
[linux-2.6] / arch / powerpc / kernel / of_platform.c
index d2fd9863318c4d40527df09ef5920642cee728a6..d454f61c9c7c7b5a84c00ef3f66b730e436171ee 100644 (file)
@@ -29,7 +29,6 @@
 #include <asm/ppc-pci.h>
 #include <asm/atomic.h>
 
-
 /*
  * The list of OF IDs below is used for matching bus types in the
  * system whose devices are to be exposed as of_platform_devices.
@@ -428,11 +427,13 @@ static int __devinit of_pci_phb_probe(struct of_device *dev,
        /* Process "ranges" property */
        pci_process_bridge_OF_ranges(phb, dev->node, 0);
 
-       /* Setup IO space.
-        * This will not work properly for ISA IOs, something needs to be done
-        * about it if we ever generalize that way of probing PCI brigdes
+       /* Setup IO space. We use the non-dynamic version of that code here,
+        * which doesn't quite support unplugging. Next kernel release will
+        * have a better fix for this.
+        * Note also that we don't do ISA, this will also be fixed with a
+        * more massive rework.
         */
-       pci_setup_phb_io_dynamic(phb, 0);
+       pci_setup_phb_io(phb, pci_io_base == 0);
 
        /* Init pci_dn data structures */
        pci_devs_phb_init_dynamic(phb);
@@ -476,9 +477,6 @@ static struct of_platform_driver of_pci_phb_driver = {
        .name = "of-pci",
        .match_table = of_pci_phb_ids,
        .probe = of_pci_phb_probe,
-       .driver = {
-              .multithread_probe = 1,
-       },
 };
 
 static __init int of_pci_phb_init(void)