diff options
author | Rob Clark <[email protected]> | 2015-04-29 08:38:45 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-06-21 07:52:36 -0400 |
commit | c79b2e626c60a29f684bc389f07a712b59fa99cc (patch) | |
tree | fc7f951bb7c6bbb610975baafad76a1d2254bec0 /src | |
parent | b3d2e367167b675c0b402c90220f40f8cd567d7c (diff) |
util/list: add list_first/last_entry
I need an easier way to get at head/tail in ir3.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/util/list.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/util/list.h b/src/util/list.h index 946034710ef..b98ce59ff77 100644 --- a/src/util/list.h +++ b/src/util/list.h @@ -140,6 +140,13 @@ static inline void list_validate(struct list_head *list) - ((char *)&(sample)->member - (char *)(sample))) #endif +#define list_first_entry(ptr, type, member) \ + LIST_ENTRY(type, (ptr)->next, member) + +#define list_last_entry(ptr, type, member) \ + LIST_ENTRY(type, (ptr)->prev, member) + + #define LIST_FOR_EACH_ENTRY(pos, head, member) \ for (pos = NULL, pos = container_of((head)->next, pos, member); \ &pos->member != (head); \ |