| @@ -90,14 +90,20 @@ list_is_empty(const struct list *head) | | | @@ -90,14 +90,20 @@ list_is_empty(const struct list *head) |
90 | - ((char *)&(sample)->member - (char *)(sample))) | | 90 | - ((char *)&(sample)->member - (char *)(sample))) |
91 | | | 91 | |
92 | #define list_for_each_entry(pos, head, member) \ | | 92 | #define list_for_each_entry(pos, head, member) \ |
93 | for (pos = __container_of((head)->next, pos, member); \ | | 93 | for (pos = __container_of((head)->next, pos, member); \ |
94 | &pos->member != (head); \ | | 94 | &pos->member != (head); \ |
95 | pos = __container_of(pos->member.next, pos, member)) | | 95 | pos = __container_of(pos->member.next, pos, member)) |
96 | | | 96 | |
97 | #define list_for_each_entry_safe(pos, tmp, head, member) \ | | 97 | #define list_for_each_entry_safe(pos, tmp, head, member) \ |
98 | for (pos = __container_of((head)->next, pos, member), \ | | 98 | for (pos = __container_of((head)->next, pos, member), \ |
99 | tmp = __container_of(pos->member.next, pos, member); \ | | 99 | tmp = __container_of(pos->member.next, pos, member); \ |
100 | &pos->member != (head); \ | | 100 | &pos->member != (head); \ |
101 | pos = tmp, tmp = __container_of(pos->member.next, tmp, member)) | | 101 | pos = tmp, tmp = __container_of(pos->member.next, tmp, member)) |
102 | | | 102 | |
| | | 103 | static inline void |
| | | 104 | list_append(struct list *entry, struct list *head) |
| | | 105 | { |
| | | 106 | __list_add(entry, head, head->next); |
| | | 107 | } |
| | | 108 | |
103 | #endif | | 109 | #endif |