aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2011-09-12 13:12:28 +0200
committerIngo Molnar <mingo@elte.hu>2011-10-04 12:43:53 +0200
commit924f8f5af31423529cc3940cb2ae9fee736b7517 (patch)
tree5d6866171b3fc428ebb64720917517534aa80670
parent38aaf8090d34b623b7919d8c933f6e938c9bf44b (diff)
llist: Add llist_next()
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>
-rw-r--r--include/linux/llist.h5
-rw-r--r--kernel/irq_work.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/llist.h b/include/linux/llist.h
index 27bbdf5ddf8..e2e96d04ee4 100644
--- a/include/linux/llist.h
+++ b/include/linux/llist.h
@@ -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
diff --git a/kernel/irq_work.c b/kernel/irq_work.c
index 6f0a4310def..0e2cde4f380 100644
--- a/kernel/irq_work.c
+++ b/kernel/irq_work.c
@@ -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