summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/ppc/platforms/prep_pci.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/ppc/platforms/prep_pci.c b/arch/ppc/platforms/prep_pci.c
index 440d092c24da..c0ab20c9d8d9 100644
--- a/arch/ppc/platforms/prep_pci.c
+++ b/arch/ppc/platforms/prep_pci.c
@@ -1171,7 +1171,7 @@ Powerplus_Map_Non0(struct pci_dev *dev)
void __init
prep_pcibios_fixup(void)
{
- struct pci_dev *dev;
+ struct pci_dev *dev = NULL;
extern unsigned char *Motherboard_map;
extern unsigned char *Motherboard_routes;
@@ -1180,7 +1180,7 @@ prep_pcibios_fixup(void)
printk("Setting PCI interrupts for a \"%s\"\n", Motherboard_map_name);
if (OpenPIC_Addr) {
/* PCI interrupts are controlled by the OpenPIC */
- pci_for_each_dev(dev) {
+ while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
if (dev->bus->number == 0) {
dev->irq = openpic_to_irq(Motherboard_map[PCI_SLOT(dev->devfn)]);
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq);
@@ -1196,7 +1196,8 @@ prep_pcibios_fixup(void)
return;
}
- pci_for_each_dev(dev) {
+ dev = NULL;
+ while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
/*
* Use our old hard-coded kludge to figure out what
* irq this device uses. This is necessary on things