[PATCH v2 0/4] Auxiliary bus Rust abstractions
From: Danilo Krummrich
Date: Wed Mar 12 2025 - 22:25:15 EST
This series adds Rust abstractions for the auxiliary bus.
It implements the required abstractions to write auxiliary drivers and create
auxiliary device registrations. A driver sample illustrates how the
corresponding abstractions work.
The auxiliary abstractions are required for the Nova driver project, in order to
connect nova-core with the nova-drm driver.
This patch series depends on [1] (taken through the nova tree for v6.15) and
[2]; a branch containing the patches, including the dependency can be found in
[3].
[1] https://lore.kernel.org/rust-for-linux/20250306222336.23482-2-dakr@xxxxxxxxxx/
[2] https://lore.kernel.org/lkml/20250313021550.133041-1-dakr@xxxxxxxxxx/
[3] https://web.git.kernel.org/pub/scm/linux/kernel/git/dakr/linux.git/log/?h=rust/auxiliary
Changes in v2:
- implement bus device soundness improvements from [2]
Danilo Krummrich (4):
rust: types: add `Opaque::zeroed`
rust: auxiliary: add auxiliary device / driver abstractions
rust: auxiliary: add auxiliary registration
samples: rust: add Rust auxiliary driver sample
MAINTAINERS | 2 +
rust/bindings/bindings_helper.h | 1 +
rust/helpers/auxiliary.c | 23 ++
rust/helpers/helpers.c | 1 +
rust/kernel/auxiliary.rs | 345 ++++++++++++++++++++++++++
rust/kernel/lib.rs | 2 +
rust/kernel/types.rs | 8 +
samples/rust/Kconfig | 12 +
samples/rust/Makefile | 1 +
samples/rust/rust_driver_auxiliary.rs | 99 ++++++++
10 files changed, 494 insertions(+)
create mode 100644 rust/helpers/auxiliary.c
create mode 100644 rust/kernel/auxiliary.rs
create mode 100644 samples/rust/rust_driver_auxiliary.rs
base-commit: 31cc40e864273b384f4e640ba3f11add432b78e0
--
2.48.1