ChangeSet 1.1299, 2003/06/04 17:42:37-07:00, greg@kroah.com [PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/pci/irq.c arch/x86_64/pci/irq.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff -Nru a/arch/x86_64/pci/irq.c b/arch/x86_64/pci/irq.c --- a/arch/x86_64/pci/irq.c Wed Jun 4 18:06:36 2003 +++ b/arch/x86_64/pci/irq.c Wed Jun 4 18:06:36 2003 @@ -391,7 +391,7 @@ int irq = 0; u32 mask; struct irq_router *r = pirq_router; - struct pci_dev *dev2; + struct pci_dev *dev2 = NULL; char *msg = NULL; /* Find IRQ pin */ @@ -483,7 +483,7 @@ printk(KERN_INFO "PCI: %s IRQ %d for device %s\n", msg, irq, dev->slot_name); /* Update IRQ for all devices with the same pirq value */ - pci_for_each_dev(dev2) { + while ((dev2 = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev2)) != NULL) { pci_read_config_byte(dev2, PCI_INTERRUPT_PIN, &pin); if (!pin) continue; @@ -511,11 +511,11 @@ void __init pcibios_fixup_irqs(void) { - struct pci_dev *dev; + struct pci_dev *dev = NULL; u8 pin; DBG("PCI: IRQ fixup\n"); - pci_for_each_dev(dev) { + while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { /* * If the BIOS has set an out of range IRQ number, just ignore it. * Also keep track of which IRQ's are already in use. @@ -530,7 +530,8 @@ pirq_penalty[dev->irq]++; } - pci_for_each_dev(dev) { + dev = NULL; + while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); #ifdef CONFIG_X86_IO_APIC /*