Overview
========
This patchset implements WMI abstractions for Rust drivers. It is the successor
of the previous RFC posting [0]. These abstractions allow most WMI drivers to be
implemented in Rust (provided other dependencies are abstracted as well).
Currently, the only driver in existence is a stripped-down rewrite of redmi-wmi
that can probe itself with custom data and print messages on notification
(posted in [0]).
I am currently working on wrapping redmi-wmi's other dependencies (sparse-keyboard),
so I can provide it as a reference driver (Armin is OK with that [1]).
Notes
=====
I do not know how these abstractions should be handled in MAINTAINERS, so for now I have
simply added them to the original WMI entry. I would be happy to be added as a reviewer
to keep the Rust version 'synced'/valid though.
[0]: https://lore.kernel.org/rust-for-linux/cover.1766331321.git.foxido@foxido.dev/
[1]: https://lore.kernel.org/rust-for-linux/c7384f13-e286-45a4-95c6-24d389217185@gmx.de/
Gladyshev Ilya (3):
rust: enable const_intrinsic_copy feature
rust: implement wrapper for acpi_object
rust: add WMI abstractions
MAINTAINERS | 1 +
rust/bindings/bindings_helper.h | 1 +
rust/kernel/acpi.rs | 91 +++++++++++
rust/kernel/lib.rs | 3 +
rust/kernel/wmi.rs | 277 ++++++++++++++++++++++++++++++++
5 files changed, 373 insertions(+)
create mode 100644 rust/kernel/wmi.rs
base-commit: 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb
--
2.52.0