list_for_each(ln, &pci_devices) {
                                d = pci_dev_g(ln);
                                if (d->bus->number == bus && d->devfn == devfn) {
-                                       list_del(&d->global_list);
-                                       list_add_tail(&d->global_list, &sorted_devices);
+                                       list_move_tail(&d->global_list, &sorted_devices);
                                        if (d == dev)
                                                found = 1;
                                        break;
                if (!found) {
                        printk(KERN_WARNING "PCI: Device %s not found by BIOS\n",
                                pci_name(dev));
-                       list_del(&dev->global_list);
-                       list_add_tail(&dev->global_list, &sorted_devices);
+                       list_move_tail(&dev->global_list, &sorted_devices);
                }
        }
        list_splice(&sorted_devices, &pci_devices);
 
        PD_MARKBITS(dp) = mask & ~tmp;
        if (!PD_MARKBITS(dp)) {
                /* move to end of list */
-               list_del(dp);
-               list_add_tail(dp, &ptable_list);
+               list_move_tail(dp, &ptable_list);
        }
        return (pmd_t *) (page_address(PD_PAGE(dp)) + off);
 }
                 * move this descriptor to the front of the list, since
                 * it has one or more free tables.
                 */
-               list_del(dp);
-               list_add(dp, &ptable_list);
+               list_move(dp, &ptable_list);
        }
        return 0;
 }
 
                if(hole->end == prev->start) {
                        hole->size += prev->size;
                        hole->end = prev->end;
-                       list_del(&(prev->list));
-                       list_add(&(prev->list), &hole_cache);
+                       list_move(&(prev->list), &hole_cache);
                        ret++;
                }
 
 #endif
                        return hole->end;
                } else if(hole->size == newlen) {
-                       list_del(&(hole->list));
-                       list_add(&(hole->list), &hole_cache);
+                       list_move(&(hole->list), &hole_cache);
                        dvma_entry_use(hole->start) = newlen;
 #ifdef DVMA_DEBUG
                        dvma_allocs++;