Commit 8120e2e5 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds

list: change list_for_each_entry*() to use list_*_entry()

Now that we have list_{next,prev}_entry() we can change
list_for_each_entry*() and list_safe_reset_next() to use the new helpers
to improve the readability.
Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Cc: Eilon Greenstein <eilong@broadcom.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 008208c6
...@@ -434,7 +434,7 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -434,7 +434,7 @@ static inline void list_splice_tail_init(struct list_head *list,
#define list_for_each_entry(pos, head, member) \ #define list_for_each_entry(pos, head, member) \
for (pos = list_entry((head)->next, typeof(*pos), member); \ for (pos = list_entry((head)->next, typeof(*pos), member); \
&pos->member != (head); \ &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member)) pos = list_next_entry(pos, member))
/** /**
* list_for_each_entry_reverse - iterate backwards over list of given type. * list_for_each_entry_reverse - iterate backwards over list of given type.
...@@ -445,7 +445,7 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -445,7 +445,7 @@ static inline void list_splice_tail_init(struct list_head *list,
#define list_for_each_entry_reverse(pos, head, member) \ #define list_for_each_entry_reverse(pos, head, member) \
for (pos = list_entry((head)->prev, typeof(*pos), member); \ for (pos = list_entry((head)->prev, typeof(*pos), member); \
&pos->member != (head); \ &pos->member != (head); \
pos = list_entry(pos->member.prev, typeof(*pos), member)) pos = list_prev_entry(pos, member))
/** /**
* list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue() * list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue()
...@@ -468,9 +468,9 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -468,9 +468,9 @@ static inline void list_splice_tail_init(struct list_head *list,
* the current position. * the current position.
*/ */
#define list_for_each_entry_continue(pos, head, member) \ #define list_for_each_entry_continue(pos, head, member) \
for (pos = list_entry(pos->member.next, typeof(*pos), member); \ for (pos = list_next_entry(pos, member); \
&pos->member != (head); \ &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member)) pos = list_next_entry(pos, member))
/** /**
* list_for_each_entry_continue_reverse - iterate backwards from the given point * list_for_each_entry_continue_reverse - iterate backwards from the given point
...@@ -482,9 +482,9 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -482,9 +482,9 @@ static inline void list_splice_tail_init(struct list_head *list,
* the current position. * the current position.
*/ */
#define list_for_each_entry_continue_reverse(pos, head, member) \ #define list_for_each_entry_continue_reverse(pos, head, member) \
for (pos = list_entry(pos->member.prev, typeof(*pos), member); \ for (pos = list_prev_entry(pos, member); \
&pos->member != (head); \ &pos->member != (head); \
pos = list_entry(pos->member.prev, typeof(*pos), member)) pos = list_prev_entry(pos, member))
/** /**
* list_for_each_entry_from - iterate over list of given type from the current point * list_for_each_entry_from - iterate over list of given type from the current point
...@@ -496,7 +496,7 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -496,7 +496,7 @@ static inline void list_splice_tail_init(struct list_head *list,
*/ */
#define list_for_each_entry_from(pos, head, member) \ #define list_for_each_entry_from(pos, head, member) \
for (; &pos->member != (head); \ for (; &pos->member != (head); \
pos = list_entry(pos->member.next, typeof(*pos), member)) pos = list_next_entry(pos, member))
/** /**
* list_for_each_entry_safe - iterate over list of given type safe against removal of list entry * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
...@@ -507,9 +507,9 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -507,9 +507,9 @@ static inline void list_splice_tail_init(struct list_head *list,
*/ */
#define list_for_each_entry_safe(pos, n, head, member) \ #define list_for_each_entry_safe(pos, n, head, member) \
for (pos = list_entry((head)->next, typeof(*pos), member), \ for (pos = list_entry((head)->next, typeof(*pos), member), \
n = list_entry(pos->member.next, typeof(*pos), member); \ n = list_next_entry(pos, member); \
&pos->member != (head); \ &pos->member != (head); \
pos = n, n = list_entry(n->member.next, typeof(*n), member)) pos = n, n = list_next_entry(n, member))
/** /**
* list_for_each_entry_safe_continue - continue list iteration safe against removal * list_for_each_entry_safe_continue - continue list iteration safe against removal
...@@ -522,10 +522,10 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -522,10 +522,10 @@ static inline void list_splice_tail_init(struct list_head *list,
* safe against removal of list entry. * safe against removal of list entry.
*/ */
#define list_for_each_entry_safe_continue(pos, n, head, member) \ #define list_for_each_entry_safe_continue(pos, n, head, member) \
for (pos = list_entry(pos->member.next, typeof(*pos), member), \ for (pos = list_next_entry(pos, member), \
n = list_entry(pos->member.next, typeof(*pos), member); \ n = list_next_entry(pos, member); \
&pos->member != (head); \ &pos->member != (head); \
pos = n, n = list_entry(n->member.next, typeof(*n), member)) pos = n, n = list_next_entry(n, member))
/** /**
* list_for_each_entry_safe_from - iterate over list from current point safe against removal * list_for_each_entry_safe_from - iterate over list from current point safe against removal
...@@ -538,9 +538,9 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -538,9 +538,9 @@ static inline void list_splice_tail_init(struct list_head *list,
* removal of list entry. * removal of list entry.
*/ */
#define list_for_each_entry_safe_from(pos, n, head, member) \ #define list_for_each_entry_safe_from(pos, n, head, member) \
for (n = list_entry(pos->member.next, typeof(*pos), member); \ for (n = list_next_entry(pos, member); \
&pos->member != (head); \ &pos->member != (head); \
pos = n, n = list_entry(n->member.next, typeof(*n), member)) pos = n, n = list_next_entry(n, member))
/** /**
* list_for_each_entry_safe_reverse - iterate backwards over list safe against removal * list_for_each_entry_safe_reverse - iterate backwards over list safe against removal
...@@ -554,9 +554,9 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -554,9 +554,9 @@ static inline void list_splice_tail_init(struct list_head *list,
*/ */
#define list_for_each_entry_safe_reverse(pos, n, head, member) \ #define list_for_each_entry_safe_reverse(pos, n, head, member) \
for (pos = list_entry((head)->prev, typeof(*pos), member), \ for (pos = list_entry((head)->prev, typeof(*pos), member), \
n = list_entry(pos->member.prev, typeof(*pos), member); \ n = list_prev_entry(pos, member); \
&pos->member != (head); \ &pos->member != (head); \
pos = n, n = list_entry(n->member.prev, typeof(*n), member)) pos = n, n = list_prev_entry(n, member))
/** /**
* list_safe_reset_next - reset a stale list_for_each_entry_safe loop * list_safe_reset_next - reset a stale list_for_each_entry_safe loop
...@@ -571,7 +571,7 @@ static inline void list_splice_tail_init(struct list_head *list, ...@@ -571,7 +571,7 @@ static inline void list_splice_tail_init(struct list_head *list,
* completing the current iteration of the loop body. * completing the current iteration of the loop body.
*/ */
#define list_safe_reset_next(pos, n, member) \ #define list_safe_reset_next(pos, n, member) \
n = list_entry(pos->member.next, typeof(*pos), member) n = list_next_entry(pos, member)
/* /*
* Double linked lists with a single pointer list head. * Double linked lists with a single pointer list head.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment