Go to the documentation of this file.
58 #include <linux/kernel.h>
59 #include <asm/cmpxchg.h>
69 #define LLIST_HEAD_INIT(name) { NULL }
70 #define LLIST_HEAD(name) struct llist_head name = LLIST_HEAD_INIT(name)
87 #define llist_entry(ptr, type, member) \
88 container_of(ptr, type, member)
104 #define llist_for_each(pos, node) \
105 for ((pos) = (node); pos; (pos) = (pos)->next)
122 #define llist_for_each_entry(pos, node, member) \
123 for ((pos) = llist_entry((node), typeof(*(pos)), member); \
124 &(pos)->member != NULL; \
125 (pos) = llist_entry((pos)->member.next, typeof(*(pos)), member))
161 if (entry == old_entry)
165 return old_entry ==
NULL;