summaryrefslogtreecommitdiff
path: root/arch/ppc/boot/utils/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorDanilo Krummrich <dakr@kernel.org>2026-02-13 23:07:15 +0100
committerDanilo Krummrich <dakr@kernel.org>2026-03-18 00:47:14 +0100
commit9aa64d2503c6f5a803ff2990608312e5bdc6b0de (patch)
tree52e3e699dd8064a1e04c8af7be20305a514c70ba /arch/ppc/boot/utils/git@git.tavy.me:linux.git
parentba424bc2c7bb3a9b81d1b6c773f1e2e7b8fffe66 (diff)
rust: devres: embed struct devres_node directly
Currently, the Devres<T> container uses devm_add_action() to register a devres callback. devm_add_action() allocates a struct action_devres, which on top of struct devres_node, just keeps a data pointer and release function pointer. This is an unnecessary indirection, given that analogous to struct devres, the Devres<T> container can just embed a struct devres_node directly without an additional allocation. In contrast to struct devres, we don't need to force an alignment of ARCH_DMA_MINALIGN (as struct devres does to account for the worst case) since we have generics in Rust. I.e. the compiler already ensures correct alignment of the embedded T in Devres<T>. Thus, get rid of devm_add_action() and instead embed a struct devres_node directly. Reviewed-by: Alice Ryhl <aliceryhl@google.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patch.msgid.link/20260213220718.82835-6-dakr@kernel.org [ * Improve comment about core::any::type_name(), * add #[must_use] to devres_node_remove(), * use container_of!() in devres_node_free_node(). - Danilo ] Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Diffstat (limited to 'arch/ppc/boot/utils/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions