diff options
| author | Maxime Ripard <mripard@kernel.org> | 2024-01-29 14:20:23 +0100 |
|---|---|---|
| committer | Maxime Ripard <mripard@kernel.org> | 2024-01-29 14:20:23 +0100 |
| commit | 4db102dcb0396a4ccf89b1eac0f4eb3fd167a080 (patch) | |
| tree | ea47469abffb236c5ba305c8a406e1f8209c6f34 /include/linux/list.h | |
| parent | aeb262c353354eab81ab0d3242afa70984b7dc34 (diff) | |
| parent | 6613476e225e090cc9aad49be7fa504e290dd33d (diff) | |
| download | linux-4db102dcb0396a4ccf89b1eac0f4eb3fd167a080.tar.gz linux-4db102dcb0396a4ccf89b1eac0f4eb3fd167a080.tar.bz2 linux-4db102dcb0396a4ccf89b1eac0f4eb3fd167a080.zip | |
Merge drm/drm-next into drm-misc-next
Kickstart 6.9 development cycle.
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Diffstat (limited to 'include/linux/list.h')
| -rw-r--r-- | include/linux/list.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/list.h b/include/linux/list.h index 1837caedf723..059aa1fff41e 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -1119,6 +1119,26 @@ static inline void hlist_move_list(struct hlist_head *old, old->first = NULL; } +/** + * hlist_splice_init() - move all entries from one list to another + * @from: hlist_head from which entries will be moved + * @last: last entry on the @from list + * @to: hlist_head to which entries will be moved + * + * @to can be empty, @from must contain at least @last. + */ +static inline void hlist_splice_init(struct hlist_head *from, + struct hlist_node *last, + struct hlist_head *to) +{ + if (to->first) + to->first->pprev = &last->next; + last->next = to->first; + to->first = from->first; + from->first->pprev = &to->first; + from->first = NULL; +} + #define hlist_entry(ptr, type, member) container_of(ptr,type,member) #define hlist_for_each(pos, head) \ |
