]> Pileus Git - ~andy/linux/blobdiff - drivers/parisc/dino.c
parisc/PCI: Use list_for_each_entry() for bus->devices traversal
[~andy/linux] / drivers / parisc / dino.c
index ffddc4f6426865846bc9d544718f3359fd52a20b..fb6a1fe21b931c861424a3829dedef4ee083cef2 100644 (file)
@@ -477,14 +477,12 @@ dino_card_setup(struct pci_bus *bus, void __iomem *base_addr)
        if (ccio_allocate_resource(dino_dev->hba.dev, res, _8MB,
                                F_EXTEND(0xf0000000UL) | _8MB,
                                F_EXTEND(0xffffffffUL) &~ _8MB, _8MB) < 0) {
-               struct list_head *ln, *tmp_ln;
+               struct pci_dev *dev, *tmp;
 
                printk(KERN_ERR "Dino: cannot attach bus %s\n",
                       dev_name(bus->bridge));
                /* kill the bus, we can't do anything with it */
-               list_for_each_safe(ln, tmp_ln, &bus->devices) {
-                       struct pci_dev *dev = pci_dev_b(ln);
-
+               list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) {
                        list_del(&dev->bus_list);
                }
                        
@@ -549,7 +547,6 @@ dino_card_fixup(struct pci_dev *dev)
 static void __init
 dino_fixup_bus(struct pci_bus *bus)
 {
-       struct list_head *ln;
         struct pci_dev *dev;
         struct dino_device *dino_dev = DINO_DEV(parisc_walk_tree(bus->bridge));
 
@@ -596,8 +593,7 @@ dino_fixup_bus(struct pci_bus *bus)
        }
 
 
-       list_for_each(ln, &bus->devices) {
-               dev = pci_dev_b(ln);
+       list_for_each_entry(dev, &bus->devices, bus_list) {
                if (is_card_dino(&dino_dev->hba.dev->id))
                        dino_card_fixup(dev);