mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
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>
54 lines
1.2 KiB
C
54 lines
1.2 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include <linux/regulator/consumer.h>
|
|
|
|
#ifndef CONFIG_REGULATOR
|
|
|
|
void rust_helper_regulator_put(struct regulator *regulator)
|
|
{
|
|
regulator_put(regulator);
|
|
}
|
|
|
|
int rust_helper_regulator_set_voltage(struct regulator *regulator, int min_uV,
|
|
int max_uV)
|
|
{
|
|
return regulator_set_voltage(regulator, min_uV, max_uV);
|
|
}
|
|
|
|
int rust_helper_regulator_get_voltage(struct regulator *regulator)
|
|
{
|
|
return regulator_get_voltage(regulator);
|
|
}
|
|
|
|
struct regulator *rust_helper_regulator_get(struct device *dev, const char *id)
|
|
{
|
|
return regulator_get(dev, id);
|
|
}
|
|
|
|
int rust_helper_regulator_enable(struct regulator *regulator)
|
|
{
|
|
return regulator_enable(regulator);
|
|
}
|
|
|
|
int rust_helper_regulator_disable(struct regulator *regulator)
|
|
{
|
|
return regulator_disable(regulator);
|
|
}
|
|
|
|
int rust_helper_regulator_is_enabled(struct regulator *regulator)
|
|
{
|
|
return regulator_is_enabled(regulator);
|
|
}
|
|
|
|
int rust_helper_devm_regulator_get_enable(struct device *dev, const char *id)
|
|
{
|
|
return devm_regulator_get_enable(dev, id);
|
|
}
|
|
|
|
int rust_helper_devm_regulator_get_enable_optional(struct device *dev, const char *id)
|
|
{
|
|
return devm_regulator_get_enable_optional(dev, id);
|
|
}
|
|
|
|
#endif
|