Thread (21 messages) flat view 21 messages, 2 authors, 2017-02-03
STALE3487d REVIEWED: 1 (0M)

1 review trailer.

[patch net-next v2 15/19] list: introduce list_for_each_entry_from_reverse helper

From: Jiri Pirko <jiri@resnulli.us>
Date: 2017-02-03 09:29:30
Subsystem: the rest · Maintainer: Linus Torvalds

From: Jiri Pirko <redacted>

Similar to list_for_each_entry_continue and its reverse variant
list_for_each_entry_continue_reverse, introduce reverse helper for
list_for_each_entry_from.

Signed-off-by: Jiri Pirko <redacted>
Acked-by: Ido Schimmel <redacted>
---
 include/linux/list.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff --git a/include/linux/list.h b/include/linux/list.h
index d1039ec..ae537fa 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -527,6 +527,19 @@ static inline void list_splice_tail_init(struct list_head *list,
 	     pos = list_next_entry(pos, member))
 
 /**
+ * list_for_each_entry_from_reverse - iterate backwards over list of given type
+ *                                    from the current point
+ * @pos:	the type * to use as a loop cursor.
+ * @head:	the head for your list.
+ * @member:	the name of the list_head within the struct.
+ *
+ * Iterate backwards over list of given type, continuing from current position.
+ */
+#define list_for_each_entry_from_reverse(pos, head, member)		\
+	for (; &pos->member != (head);					\
+	     pos = list_prev_entry(pos, member))
+
+/**
  * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
  * @pos:	the type * to use as a loop cursor.
  * @n:		another type * to use as temporary storage
-- 
2.7.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help