From be84b7551e3be696edf2685dca9aabcf5c355d73 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sat, 15 May 2021 17:18:24 +0200 Subject: [PATCH] list.h: Get rid of internal helpers. They only obfuscate the code. --- list.h | 53 +++++++++++------------------------------------------ 1 file changed, 11 insertions(+), 42 deletions(-) diff --git a/list.h b/list.h index 7a0fe045..f4064470 100644 --- a/list.h +++ b/list.h @@ -29,32 +29,6 @@ struct list_head { (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) -/* - * Some of the internal functions ("__xxx") are useful when manipulating whole - * lists rather than single entries, as sometimes we already know the next/prev - * entries and we can generate better code by using them directly rather than - * using the generic single-entry routines. - */ - -/* - * Insert a new entry between two known consecutive entries. - * - * \param new The new entry to add. - * \param prev The entry preceeding the new entry. - * \param next The entry following the new entry. - * - * This is only for internal list manipulations where we know the prev/next - * entries already. - */ -static inline void __list_add(struct list_head *new, - struct list_head *prev, struct list_head *next) -{ - next->prev = new; - new->next = next; - new->prev = prev; - prev->next = new; -} - /** * Insert a new entry after the specified head. * @@ -65,7 +39,10 @@ static inline void __list_add(struct list_head *new, */ static inline void para_list_add(struct list_head *new, struct list_head *head) { - __list_add(new, head, head->next); + new->prev = head; + new->next = head->next; + head->next->prev = new; + head->next = new; } /** @@ -78,19 +55,10 @@ static inline void para_list_add(struct list_head *new, struct list_head *head) */ static inline void list_add_tail(struct list_head *new, struct list_head *head) { - __list_add(new, head->prev, head); -} - -/* - * Delete a list entry by making the prev/next entries point to each other. - * - * This is only for internal list manipulation where we know the prev/next - * entries already. - */ -static inline void __list_del(struct list_head *prev, struct list_head *next) -{ - next->prev = prev; - prev->next = next; + new->prev = head->prev; + new->next = head; + head->prev->next = new; + head->prev = new; } /* @@ -114,7 +82,8 @@ static inline void __list_del(struct list_head *prev, struct list_head *next) */ static inline void list_del(struct list_head *entry) { - __list_del(entry->prev, entry->next); + entry->prev->next = entry->next; + entry->next->prev = entry->prev; entry->next = LIST_POISON1; entry->prev = LIST_POISON2; } @@ -127,7 +96,7 @@ static inline void list_del(struct list_head *entry) */ static inline void list_move(struct list_head *list, struct list_head *head) { - __list_del(list->prev, list->next); + list_del(list); para_list_add(list, head); } -- 2.39.5