mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 22:03:17 +01: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 <[email protected]> Reviewed-by: Daniel Almeida <[email protected]> Reviewed-by: Alexandre Courbot <[email protected]> Reviewed-by: Alice Ryhl <[email protected]> Acked-by: Alexandre Courbot <[email protected]> Acked-by: Gary Guo <[email protected]> Acked-by: Miguel Ojeda <[email protected]> Signed-off-by: Joel Fernandes <[email protected]> Link: https://patch.msgid.link/[email protected] [ * 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 <[email protected]>
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);
|
|
}
|