patch-2.3.40 linux/arch/alpha/kernel/pci.c

Next file: linux/arch/alpha/mm/init.c
Previous file: linux/arch/alpha/kernel/osf_sys.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.39/linux/arch/alpha/kernel/pci.c linux/arch/alpha/kernel/pci.c
@@ -251,11 +251,13 @@
 	/* Propogate hose info into the subordinate devices.  */
 
 	struct pci_controler *hose = (struct pci_controler *) bus->sysdata;
-	struct pci_dev *dev;
+	struct list_head *ln;
 
 	bus->resource[0] = hose->io_space;
 	bus->resource[1] = hose->mem_space;
-	for (dev = bus->devices; dev; dev = dev->sibling) {
+
+	for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) {
+		struct pci_dev *dev = pci_dev_b(ln);
 		if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI)
 			pcibios_fixup_device_resources(dev, bus);
 	}
@@ -322,6 +324,13 @@
 	ranges->mem_end -= bus->resource[1]->start;
 }
 
+int __init
+pcibios_enable_device(struct pci_dev *dev)
+{
+	/* Not needed, since we enable all devices at startup.  */
+	return 0;
+}
+
 void __init
 common_init_pci(void)
 {
@@ -339,8 +348,7 @@
 		next_busno += 1;
 	}
 
-	pci_assign_unassigned_resources(alpha_mv.min_io_address,
-				        alpha_mv.min_mem_address);
+	pci_assign_unassigned_resources();
 	pci_fixup_irqs(alpha_mv.pci_swizzle, alpha_mv.pci_map_irq);
 	pci_set_bus_ranges();
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)