list.h: Get rid of internal helpers.
authorAndre Noll <maan@tuebingen.mpg.de>
Sat, 15 May 2021 15:18:24 +0000 (17:18 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 8 Aug 2021 15:29:18 +0000 (17:29 +0200)
They only obfuscate the code.

list.h

diff --git a/list.h b/list.h
index 7a0fe04..f406447 100644 (file)
--- 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);
 }