vserver 1.9.5.x5
[linux-2.6.git] / arch / i386 / pci / numa.c
index d774500..ddf9ac7 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <linux/pci.h>
 #include <linux/init.h>
+#include <linux/nodemask.h>
 #include "pci.h"
 
 #define BUS2QUAD(global) (mp_bus_id_to_node[global])
@@ -100,10 +101,7 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
        }
        pcibios_last_bus = -1;
 }
-
-struct pci_fixup pcibios_fixups[] = {
-       { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82451NX,    pci_fixup_i450nx },
-};
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82451NX, pci_fixup_i450nx);
 
 static int __init pci_numa_init(void)
 {
@@ -115,14 +113,15 @@ static int __init pci_numa_init(void)
                return 0;
 
        pci_root_bus = pcibios_scan_root(0);
-       if (numnodes > 1) {
-               for (quad = 1; quad < numnodes; ++quad) {
+       if (num_online_nodes() > 1)
+               for_each_online_node(quad) {
+                       if (quad == 0)
+                               continue;
                        printk("Scanning PCI bus %d for quad %d\n", 
                                QUADLOCAL2BUS(quad,0), quad);
                        pci_scan_bus(QUADLOCAL2BUS(quad,0), 
                                &pci_root_ops, NULL);
                }
-       }
        return 0;
 }