Rust for Linux List
 help / color / mirror / Atom feed
* [PATCH] rust: helpers: move list_lru and task_work helpers out of binder.c
@ 2026-06-23  9:39 Xiaobo Liu
  2026-06-23  9:52 ` Miguel Ojeda
  0 siblings, 1 reply; 4+ messages in thread
From: Xiaobo Liu @ 2026-06-23  9:39 UTC (permalink / raw)
  To: rust-for-linux; +Cc: ojeda, Xiaobo Liu

The helpers in binder.c wrap generic list_lru and task_work inline
functions and have nothing to do with binder. Move them to mm.c and
task_work.c respectively, where they belong by subsystem.

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
---
 rust/helpers/binder.c    | 27 ---------------------------
 rust/helpers/helpers.c   |  2 +-
 rust/helpers/mm.c        | 14 ++++++++++++++
 rust/helpers/task_work.c |  9 +++++++++
 4 files changed, 24 insertions(+), 28 deletions(-)
 delete mode 100644 rust/helpers/binder.c
 create mode 100644 rust/helpers/task_work.c

diff --git a/rust/helpers/binder.c b/rust/helpers/binder.c
deleted file mode 100644
index a2327f1b3..000000000
--- a/rust/helpers/binder.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-
-/*
- * Copyright (C) 2025 Google LLC.
- */
-
-#include <linux/list_lru.h>
-#include <linux/task_work.h>
-
-__rust_helper unsigned long rust_helper_list_lru_count(struct list_lru *lru)
-{
-	return list_lru_count(lru);
-}
-
-__rust_helper unsigned long rust_helper_list_lru_walk(struct list_lru *lru,
-						      list_lru_walk_cb isolate,
-						      void *cb_arg,
-						      unsigned long nr_to_walk)
-{
-	return list_lru_walk(lru, isolate, cb_arg, nr_to_walk);
-}
-
-__rust_helper void rust_helper_init_task_work(struct callback_head *twork,
-					      task_work_func_t func)
-{
-	init_task_work(twork, func);
-}
diff --git a/rust/helpers/helpers.c b/rust/helpers/helpers.c
index 998e31052..fe0883b33 100644
--- a/rust/helpers/helpers.c
+++ b/rust/helpers/helpers.c
@@ -43,7 +43,6 @@
 #include "atomic_ext.c"
 #include "auxiliary.c"
 #include "barrier.c"
-#include "binder.c"
 #include "bitmap.c"
 #include "bitops.c"
 #include "blk.c"
@@ -93,6 +92,7 @@
 #include "string.c"
 #include "sync.c"
 #include "task.c"
+#include "task_work.c"
 #include "time.c"
 #include "uaccess.c"
 #include "usb.c"
diff --git a/rust/helpers/mm.c b/rust/helpers/mm.c
index b5540997b..941984feb 100644
--- a/rust/helpers/mm.c
+++ b/rust/helpers/mm.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 
+#include <linux/list_lru.h>
 #include <linux/mm.h>
 #include <linux/sched/mm.h>
 
@@ -8,6 +9,19 @@ __rust_helper void rust_helper_mmgrab(struct mm_struct *mm)
 	mmgrab(mm);
 }
 
+__rust_helper unsigned long rust_helper_list_lru_count(struct list_lru *lru)
+{
+	return list_lru_count(lru);
+}
+
+__rust_helper unsigned long rust_helper_list_lru_walk(struct list_lru *lru,
+						      list_lru_walk_cb isolate,
+						      void *cb_arg,
+						      unsigned long nr_to_walk)
+{
+	return list_lru_walk(lru, isolate, cb_arg, nr_to_walk);
+}
+
 __rust_helper void rust_helper_mmdrop(struct mm_struct *mm)
 {
 	mmdrop(mm);
diff --git a/rust/helpers/task_work.c b/rust/helpers/task_work.c
new file mode 100644
index 000000000..5bdb752cb
--- /dev/null
+++ b/rust/helpers/task_work.c
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <linux/task_work.h>
+
+__rust_helper void rust_helper_init_task_work(struct callback_head *twork,
+					      task_work_func_t func)
+{
+	init_task_work(twork, func);
+}
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-06-23 11:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23  9:39 [PATCH] rust: helpers: move list_lru and task_work helpers out of binder.c Xiaobo Liu
2026-06-23  9:52 ` Miguel Ojeda
2026-06-23 10:24   ` [PATCH v2] " Xiaobo Liu
2026-06-23 11:42     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox