]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
rust: workqueue: remove HasWork::OFFSET
authorTamir Duberstein <tamird@gmail.com>
Fri, 11 Apr 2025 14:08:27 +0000 (10:08 -0400)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 28 May 2025 23:34:52 +0000 (01:34 +0200)
commit1ce98bb2bb30713ec4374ef11ead0d7d3e856766
tree651c364b02b9bc7ee99ce68ba0530dcac3f3e920
parent74d6a606c2b39fd830d2d7a6363bc5688b4e4b56
rust: workqueue: remove HasWork::OFFSET

Implement `HasWork::work_container_of` in `impl_has_work!`, narrowing
the interface of `HasWork` and replacing pointer arithmetic with
`container_of!`. Remove the provided implementation of
`HasWork::get_work_offset` without replacement; an implementation is
already generated in `impl_has_work!`. Remove the `Self: Sized` bound on
`HasWork::work_container_of` which was apparently necessary to access
`OFFSET` as `OFFSET` no longer exists.

A similar API change was discussed on the hrtimer series[1].

Link: https://lore.kernel.org/all/20250224-hrtimer-v3-v6-12-rc2-v9-1-5bd3bf0ce6cc@kernel.org/
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org>
Signed-off-by: Tamir Duberstein <tamird@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20250411-no-offset-v3-1-c0b174640ec3@gmail.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/workqueue.rs