Unverified Commit ef616b97 authored by Mark Brown's avatar Mark Brown
Browse files

Add a bare-minimum Regulator abstraction

Merge series from Daniel Almeida <daniel.almeida@collabora.com>:

Add basic rust bindings for the regulator API.
parents 63be976d d9f334fc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -26561,6 +26561,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
F:	Documentation/devicetree/bindings/regulator/
F:	Documentation/power/regulator/
F:	drivers/regulator/
F:	rust/kernel/regulator.rs
F:	include/dt-bindings/regulator/
F:	include/linux/regulator/
K:	regulator_get_optional
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@
#include <linux/poll.h>
#include <linux/property.h>
#include <linux/refcount.h>
#include <linux/regulator/consumer.h>
#include <linux/sched.h>
#include <linux/security.h>
#include <linux/slab.h>
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include "pci.c"
#include "pid_namespace.c"
#include "rbtree.c"
#include "regulator.c"
#include "rcu.c"
#include "refcount.c"
#include "security.c"
+43 −0
Original line number Diff line number Diff line
// 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);
}

#endif
+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@
pub mod prelude;
pub mod print;
pub mod rbtree;
pub mod regulator;
pub mod revocable;
pub mod security;
pub mod seq_file;
Loading