Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / arch / powerpc / kernel / pci_dn.c
index 12c4c9e..1c18953 100644 (file)
@@ -31,6 +31,7 @@
 #include <asm/pci-bridge.h>
 #include <asm/pSeries_reconfig.h>
 #include <asm/ppc-pci.h>
+#include <asm/firmware.h>
 
 /*
  * Traverse_func that inits the PCI fields of the device node.
@@ -59,6 +60,11 @@ static void * __devinit update_dn_pci_info(struct device_node *dn, void *data)
                pdn->busno = (regs[0] >> 16) & 0xff;
                pdn->devfn = (regs[0] >> 8) & 0xff;
        }
+       if (firmware_has_feature(FW_FEATURE_ISERIES)) {
+               u32 *busp = (u32 *)get_property(dn, "linux,subbus", NULL);
+               if (busp)
+                       pdn->bussubno = *busp;
+       }
 
        pdn->pci_ext_config_space = (type && *type == 1);
        return NULL;