[PATCH 0/4] Auxiliary bus Rust abstractions

Danilo Krummrich posted 4 patches 11 months ago
There is a newer version of this series
MAINTAINERS                           |   2 +
rust/bindings/bindings_helper.h       |   1 +
rust/helpers/auxiliary.c              |  23 ++
rust/helpers/helpers.c                |   1 +
rust/kernel/auxiliary.rs              | 311 ++++++++++++++++++++++++++
rust/kernel/lib.rs                    |   2 +
rust/kernel/types.rs                  |   8 +
samples/rust/Kconfig                  |  10 +
samples/rust/Makefile                 |   1 +
samples/rust/rust_driver_auxiliary.rs |  99 ++++++++
10 files changed, 458 insertions(+)
create mode 100644 rust/helpers/auxiliary.c
create mode 100644 rust/kernel/auxiliary.rs
create mode 100644 samples/rust/rust_driver_auxiliary.rs
[PATCH 0/4] Auxiliary bus Rust abstractions
Posted by Danilo Krummrich 11 months ago
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); a
branch containing the patches, including the dependency can be found in [2].

[1] https://lore.kernel.org/rust-for-linux/20250306222336.23482-2-dakr@kernel.org/
[2] https://web.git.kernel.org/pub/scm/linux/kernel/git/dakr/linux.git/log/?h=rust/auxiliary

Danilo Krummrich (4):
  rust: types: add `Opaque::zeroed`
  rust: auxiliary: add auxiliary 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              | 311 ++++++++++++++++++++++++++
 rust/kernel/lib.rs                    |   2 +
 rust/kernel/types.rs                  |   8 +
 samples/rust/Kconfig                  |  10 +
 samples/rust/Makefile                 |   1 +
 samples/rust/rust_driver_auxiliary.rs |  99 ++++++++
 10 files changed, 458 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: b28786b190d1ae2df5e6a5181ad78c6f226ea3e1
-- 
2.48.1
Re: [PATCH 0/4] Auxiliary bus Rust abstractions
Posted by Greg KH 11 months ago
On Wed, Mar 12, 2025 at 01:19:06AM +0100, Danilo Krummrich wrote:
> 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.

Nice!

> This patch series depends on [1] (taken through the nova tree for v6.15); a
> branch containing the patches, including the dependency can be found in [2].
> 
> [1] https://lore.kernel.org/rust-for-linux/20250306222336.23482-2-dakr@kernel.org/
> [2] https://web.git.kernel.org/pub/scm/linux/kernel/git/dakr/linux.git/log/?h=rust/auxiliary

Do you want this to wait until that lands in 6.15-rc1 or do you want to
take this now through the nova tree?  Either is fine with me.

thanks,

greg k-h
Re: [PATCH 0/4] Auxiliary bus Rust abstractions
Posted by Danilo Krummrich 11 months ago
On Wed, Mar 12, 2025 at 08:14:24AM +0100, Greg KH wrote:
> On Wed, Mar 12, 2025 at 01:19:06AM +0100, Danilo Krummrich wrote:
> > 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.
> 
> Nice!
> 
> > This patch series depends on [1] (taken through the nova tree for v6.15); a
> > branch containing the patches, including the dependency can be found in [2].
> > 
> > [1] https://lore.kernel.org/rust-for-linux/20250306222336.23482-2-dakr@kernel.org/
> > [2] https://web.git.kernel.org/pub/scm/linux/kernel/git/dakr/linux.git/log/?h=rust/auxiliary
> 
> Do you want this to wait until that lands in 6.15-rc1 or do you want to
> take this now through the nova tree?  Either is fine with me.

Thanks! Let's wait for things to land in Linus' tree and give people some time
to review.

I will also send a v2 soon, fixing up a soundness issue I'm also working on
a fix for platform and PCI.