rust: regulator: add devm_enable and devm_enable_optional
authorDaniel Almeida <daniel.almeida@collabora.com>
Wed, 10 Sep 2025 17:54:32 +0000 (14:54 -0300)
committerMark Brown <broonie@kernel.org>
Wed, 10 Sep 2025 20:02:16 +0000 (21:02 +0100)
commit2e0fd4583d0efcdc260e61a22666c8368f505353
treeef51d84e47875f49c467c6f55a94bd98c3745323
parentb87ecbc54f22382ace1cf41645e8652a4ce44d52
rust: regulator: add devm_enable and devm_enable_optional

A lot of drivers only care about enabling the regulator for as long as
the underlying Device is bound. This can be easily observed due to the
extensive use of `devm_regulator_get_enable` and
`devm_regulator_get_enable_optional` throughout the kernel.

Therefore, make this helper available in Rust. Also add an example
noting how it should be the default API unless the driver needs more
fine-grained control over the regulator.

Suggested-by: Danilo Krummrich <dakr@kernel.org>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Danilo Krummrich <dakr@kernel.org>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
Link: https://patch.msgid.link/20250910-regulator-remove-dynamic-v3-2-07af4dfa97cc@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
rust/helpers/regulator.c
rust/kernel/regulator.rs