Lines Matching refs:head
93 #define PLIST_HEAD_INIT(head) \ argument
95 .node_list = LIST_HEAD_INIT((head).node_list) \
102 #define PLIST_HEAD(head) \ argument
103 struct plist_head head = PLIST_HEAD_INIT(head)
122 plist_head_init(struct plist_head *head) in plist_head_init() argument
124 INIT_LIST_HEAD(&head->node_list); in plist_head_init()
139 extern void plist_add(struct plist_node *node, struct plist_head *head);
140 extern void plist_del(struct plist_node *node, struct plist_head *head);
142 extern void plist_requeue(struct plist_node *node, struct plist_head *head);
149 #define plist_for_each(pos, head) \ argument
150 list_for_each_entry(pos, &(head)->node_list, node_list)
159 #define plist_for_each_continue(pos, head) \ argument
160 list_for_each_entry_continue(pos, &(head)->node_list, node_list)
170 #define plist_for_each_safe(pos, n, head) \ argument
171 list_for_each_entry_safe(pos, n, &(head)->node_list, node_list)
179 #define plist_for_each_entry(pos, head, mem) \ argument
180 list_for_each_entry(pos, &(head)->node_list, mem.node_list)
191 #define plist_for_each_entry_continue(pos, head, m) \ argument
192 list_for_each_entry_continue(pos, &(head)->node_list, m.node_list)
203 #define plist_for_each_entry_safe(pos, n, head, m) \ argument
204 list_for_each_entry_safe(pos, n, &(head)->node_list, m.node_list)
210 static inline int plist_head_empty(const struct plist_head *head) in plist_head_empty() argument
212 return list_empty(&head->node_list); in plist_head_empty()
233 # define plist_first_entry(head, type, member) \ argument
235 WARN_ON(plist_head_empty(head)); \
236 container_of(plist_first(head), type, member); \
239 # define plist_first_entry(head, type, member) \ argument
240 container_of(plist_first(head), type, member)
250 # define plist_last_entry(head, type, member) \ argument
252 WARN_ON(plist_head_empty(head)); \
253 container_of(plist_last(head), type, member); \
256 # define plist_last_entry(head, type, member) \ argument
257 container_of(plist_last(head), type, member)
280 static inline struct plist_node *plist_first(const struct plist_head *head) in plist_first() argument
282 return list_entry(head->node_list.next, in plist_first()
292 static inline struct plist_node *plist_last(const struct plist_head *head) in plist_last() argument
294 return list_entry(head->node_list.prev, in plist_last()