[PATCH v5 0/2] Add a bare-minimum Regulator abstraction
From: Daniel Almeida
Date: Mon Jun 23 2025 - 14:22:40 EST
---
Changes in v5:
- Remove TryIntoEnabled and TryIntoDisabled traits (they were only
implemented for a single type anyways)
- Added regulator.rs to VOLTAGE AND CURRENT REGULATOR FRAMEWORK
- Applied the diff from Miguel Ojeda to format the docs
- Link to v4: https://lore.kernel.org/r/20250609-topics-tyr-regulator-v4-1-b4fdcf1385a7@xxxxxxxxxxxxx
Changes in v4:
- Rewrote the abstraction to use typestates as per the suggestions by
Benno and Alex.
- Introduced the `Dynamic` state.
- Added more examples.
- Fixed some broken docs.
- Link to v3: https://lore.kernel.org/r/20250513-topics-tyr-regulator-v3-1-4cc2704dfec6@xxxxxxxxxxxxx
Changes in v3:
- Rebased on rust-next
- Added examples to showcase the API
- Fixed some rendering issues in the docs
- Exposed {get|set}_voltage for both Regulator and EnabledRegulator
- Derived Clone, Copy, PartialEq and Eq for Microvolt
- Link to v2: https://lore.kernel.org/r/20250326-topics-tyr-regulator-v2-1-c0ea6a861be6@xxxxxxxxxxxxx
Resend v2:
- cc Regulator maintainers
Changes from v1:
- Rebased on rust-next
- Split the design into two types as suggested by Alice Ryhl.
- Modify the docs to highlight how users can use kernel::types::Either
or an enum to enable and disable the regulator at runtime.
- Link to v1: https://lore.kernel.org/rust-for-linux/20250219162517.278362-1-daniel.almeida@xxxxxxxxxxxxx/
---
Daniel Almeida (2):
rust: regulator: add a bare minimum regulator abstraction
MAINAINTERS: add regulator.rs to the regulator API entry
MAINTAINERS | 1 +
rust/bindings/bindings_helper.h | 1 +
rust/kernel/lib.rs | 2 +
rust/kernel/regulator.rs | 382 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 386 insertions(+)
---
base-commit: edc5e6e019c99b529b3d1f2801d5cce9924ae79b
change-id: 20250326-topics-tyr-regulator-e8b98f6860d7
Best regards,
--
Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>