Lines Matching full:prev
48 * sometimes we already know the next/prev entries and we can
54 struct list_head *next, *prev;
63 (ptr)->next = (ptr); (ptr)->prev = (ptr); \
70 * the prev/next entries already!
73 struct list_head *prev,
76 next->prev = new;
78 new->prev = prev;
79 prev->next = new;
105 __list_add(new, head->prev, head);
112 * the prev/next entries already!
115 struct list_head * prev, struct list_head * next)
118 new->prev = prev;
120 next->prev = new;
121 prev->next = new;
164 __list_add_rcu(new, head->prev, head);
168 * Delete a list entry by making the prev/next entries
172 * the prev/next entries already!
174 static inline void __list_del(struct list_head * prev, struct list_head * next)
176 next->prev = prev;
177 prev->next = next;
188 __list_del(entry->prev, entry->next);
190 entry->prev = LIST_POISON2;
219 __list_del(entry->prev, entry->next);
220 entry->prev = LIST_POISON2;
229 __list_del(entry->prev, entry->next);
240 __list_del(list->prev, list->next);
252 __list_del(list->prev, list->next);
280 return (next == head) && (next == head->prev);
287 struct list_head *last = list->prev;
290 first->prev = head;
294 at->prev = last;
361 for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \
362 pos = pos->prev, prefetch(pos->prev))
394 for (pos = list_entry((head)->prev, typeof(*pos), member), \
395 prefetch(pos->member.prev); \
397 pos = list_entry(pos->member.prev, typeof(*pos), member), \
398 prefetch(pos->member.prev))