From c79b2e626c60a29f684bc389f07a712b59fa99cc Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 29 Apr 2015 08:38:45 -0400 Subject: [PATCH] util/list: add list_first/last_entry I need an easier way to get at head/tail in ir3. Signed-off-by: Rob Clark --- src/util/list.h | 7 +++++++ 1 file changed, 7 insertions(+) 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); \ -- 2.30.2