| Subject: list-add-list-last-entry.patch |
| From: Peter Zijlstra <peterz@infradead.org> |
| Date: Tue, 21 Jun 2011 11:22:36 +0200 |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| --- |
| include/linux/list.h | 11 +++++++++++ |
| 1 file changed, 11 insertions(+) |
| |
| --- a/include/linux/list.h |
| +++ b/include/linux/list.h |
| @@ -373,6 +373,17 @@ static inline void list_splice_tail_init |
| (!list_empty(ptr) ? list_first_entry(ptr, type, member) : NULL) |
| |
| /** |
| + * list_last_entry - get the last element from a list |
| + * @ptr: the list head to take the element from. |
| + * @type: the type of the struct this is embedded in. |
| + * @member: the name of the list_struct within the struct. |
| + * |
| + * Note, that list is expected to be not empty. |
| + */ |
| +#define list_last_entry(ptr, type, member) \ |
| + list_entry((ptr)->prev, type, member) |
| + |
| +/** |
| * list_for_each - iterate over a list |
| * @pos: the &struct list_head to use as a loop cursor. |
| * @head: the head for your list. |