[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260128215330.58410-5-boqun.feng@gmail.com>
Date: Wed, 28 Jan 2026 13:53:27 -0800
From: Boqun Feng <boqun.feng@...il.com>
To: linux-kernel@...r.kernel.org,
rust-for-linux@...r.kernel.org,
rcu@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Arve Hjønnevåg <arve@...roid.com>,
Todd Kjos <tkjos@...roid.com>, Christian Brauner <brauner@...nel.org>,
Carlos Llamas <cmllamas@...gle.com>, Alice Ryhl <aliceryhl@...gle.com>,
Miguel Ojeda <ojeda@...nel.org>, Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>,
Trevor Gross <tmgross@...ch.edu>, Danilo Krummrich <dakr@...nel.org>,
"Paul E. McKenney" <paulmck@...nel.org>,
Frederic Weisbecker <frederic@...nel.org>,
Neeraj Upadhyay <neeraj.upadhyay@...nel.org>,
Joel Fernandes <joelagnelf@...dia.com>,
Josh Triplett <josh@...htriplett.org>,
Uladzislau Rezki <urezki@...il.com>,
Steven Rostedt <rostedt@...dmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Lai Jiangshan <jiangshanlai@...il.com>, Zqiang <qiang.zhang@...ux.dev>,
FUJITA Tomonori <fujita.tomonori@...il.com>,
Lyude Paul <lyude@...hat.com>, Thomas Gleixner <tglx@...nel.org>,
Anna-Maria Behnsen <anna-maria@...utronix.de>,
John Stultz <jstultz@...gle.com>, Stephen Boyd <sboyd@...nel.org>,
"Yury Norov (NVIDIA)" <yury.norov@...il.com>,
Vitaly Wool <vitaly.wool@...sulko.se>,
Tamir Duberstein <tamird@...nel.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
Daniel Almeida <daniel.almeida@...labora.com>,
Mitchell Levy <levymitchell0@...il.com>, David Gow <davidgow@...gle.com>,
Peter Novak <seimun018r@...il.com>,
José Expósito <jose.exposito89@...il.com>
Subject: [RFC PATCH 4/7] drivers: android: binder: Replace `impl_has_work!` with `#[derive(HasField)]`
`#[derive(HasField)]` offers less code and better ergonomic for defining
a struct with a Work in it. Hence replace the current usage of
`impl_has_work!()`.
Signed-off-by: Boqun Feng <boqun.feng@...il.com>
---
drivers/android/binder/process.rs | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/android/binder/process.rs b/drivers/android/binder/process.rs
index 132055b4790f..2a2510e3a0cb 100644
--- a/drivers/android/binder/process.rs
+++ b/drivers/android/binder/process.rs
@@ -423,6 +423,7 @@ fn new() -> Self {
/// Strictly speaking, there can be multiple of these per process. There is one for each binder fd
/// that a process has opened, so processes using several binder contexts have several `Process`
/// objects. This ensures that the contexts are fully separated.
+#[derive(HasField)]
#[pin_data]
pub(crate) struct Process {
pub(crate) ctx: Arc<Context>,
@@ -451,6 +452,7 @@ pub(crate) struct Process {
// Work node for deferred work item.
#[pin]
+ #[field]
defer_work: Work<Process>,
// Links for process list in Context.
@@ -460,10 +462,6 @@ pub(crate) struct Process {
pub(crate) stats: BinderStats,
}
-kernel::impl_has_work! {
- impl HasWork<Process> for Process { self.defer_work }
-}
-
kernel::list::impl_list_arc_safe! {
impl ListArcSafe<0> for Process { untracked; }
}
--
2.50.1 (Apple Git-155)
Powered by blists - more mailing lists