mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Add a new module `kernel::interop::list` for working with C's doubly circular linked lists. Provide low-level iteration over list nodes. Typed iteration over actual items is provided with a `clist_create` macro to assist in creation of the `CList` type. Cc: Nikola Djukic <ndjukic@nvidia.com> Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Acked-by: Alexandre Courbot <acourbot@nvidia.com> Acked-by: Gary Guo <gary@garyguo.net> Acked-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Link: https://patch.msgid.link/20260319210722.1543776-1-joelagnelf@nvidia.com [ * Remove stray empty comment and double blank line in doctest, * Improve wording and fix a few typos, * Use markdown emphasis instead of caps, * Move interop/mod.rs to interop.rs. - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
18 lines
352 B
C
18 lines
352 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
/*
|
|
* Helpers for C circular doubly linked list implementation.
|
|
*/
|
|
|
|
#include <linux/list.h>
|
|
|
|
__rust_helper void rust_helper_INIT_LIST_HEAD(struct list_head *list)
|
|
{
|
|
INIT_LIST_HEAD(list);
|
|
}
|
|
|
|
__rust_helper void rust_helper_list_add_tail(struct list_head *new, struct list_head *head)
|
|
{
|
|
list_add_tail(new, head);
|
|
}
|