llist: Add llist_next()
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Mon, 12 Sep 2011 11:12:28 +0000 (13:12 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 4 Oct 2011 10:43:53 +0000 (12:43 +0200)
So we don't have to expose the struct list_node member.

Cc: Huang Ying <ying.huang@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1315836348.26517.41.camel@twins
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/llist.h
kernel/irq_work.c

index 27bbdf5..e2e96d0 100644 (file)
@@ -138,6 +138,11 @@ static inline bool llist_empty(const struct llist_head *head)
        return ACCESS_ONCE(head->first) == NULL;
 }
 
+static inline struct llist_node *llist_next(struct llist_node *node)
+{
+       return node->next;
+}
+
 /**
  * llist_add - add a new entry
  * @new:       new entry to be added
index 6f0a431..0e2cde4 100644 (file)
@@ -110,7 +110,7 @@ void irq_work_run(void)
        while (llnode != NULL) {
                work = llist_entry(llnode, struct irq_work, llnode);
 
-               llnode = llnode->next;
+               llnode = llist_next(llnode);
 
                /*
                 * Clear the PENDING bit, after this point the @work