diff options
| author | Lucas De Marchi | 2024-01-22 15:10:10 -0800 |
|---|---|---|
| committer | Lucas De Marchi | 2024-01-22 15:10:10 -0800 |
| commit | be3382ecdf317f005e7d47356d0a9256cc36dd88 (patch) | |
| tree | 40ee42db6c5c510d998c23696a27254f22289094 /include/linux/list.h | |
| parent | f6bf0424cadc27d7cf6a049d2db960e4b52fa513 (diff) | |
| parent | 6613476e225e090cc9aad49be7fa504e290dd33d (diff) | |
Merge drm/drm-next into drm-xe-next
Sync to v6.8-rc1.
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
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) \ |
