[PATCH v3 0/2] Rust abstractions for Device & Firmware
From: Danilo Krummrich
Date: Mon Jun 17 2024 - 16:30:32 EST
Hi,
as agreed in [1] this is the separate series for the device and firmware
abstractions to unblock the inclusion of Fujita's PHY driver.
Originally, those patches were part of the patch series [2][3].
Changes in v3
=============
- fix safety comments for `Send` and `Sync` for `Device` (Boqun)
- add corresponding invariant and safety requirement for `Device::from_raw`
(Boqun)
- drop `Firmware::request_platform` and `Firmware::request_direct` (Greg)
- fix missing Kconfig entry for `Firmware` (Greg)
- fix doctest compilation for `Firmware`
Changes in v2
=============
- use the 'srctree/' notation
- expand the existing documentation and make it more unambiguous
- use `NonNull` in `Firmware`
- generalize the `Firmware` request functions
- add missing safety comments to `Firmware`
[1] https://lore.kernel.org/rust-for-linux/2024060745-palatable-dragging-32d1@gregkh/
[2] https://lore.kernel.org/rust-for-linux/20240520172554.182094-1-dakr@xxxxxxxxxx/
[3] https://lore.kernel.org/rust-for-linux/20240520172059.181256-1-dakr@xxxxxxxxxx/
Danilo Krummrich (2):
rust: add abstraction for struct device
rust: add firmware abstractions
drivers/base/firmware_loader/Kconfig | 7 ++
rust/bindings/bindings_helper.h | 1 +
rust/helpers.c | 1 +
rust/kernel/device.rs | 102 +++++++++++++++++++++++++++
rust/kernel/firmware.rs | 98 +++++++++++++++++++++++++
rust/kernel/lib.rs | 3 +
6 files changed, 212 insertions(+)
create mode 100644 rust/kernel/device.rs
create mode 100644 rust/kernel/firmware.rs
base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
--
2.45.1