aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/power/regulator
diff options
context:
space:
mode:
authorLiam Girdwood <lg@opensource.wolfsonmicro.com>2008-04-30 17:20:11 +0100
committerLiam Girdwood <lg@opensource.wolfsonmicro.com>2008-07-30 10:10:22 +0100
commite8695ebe5568921c41c269f4434e17590735865c (patch)
tree50da6dd5c4b57e19255555dfe0c8a028345e8928 /Documentation/power/regulator
parent6392776d262fcd290616ff5e4246ee95b22c13f0 (diff)
downloadkernel_samsung_smdk4412-e8695ebe5568921c41c269f4434e17590735865c.zip
kernel_samsung_smdk4412-e8695ebe5568921c41c269f4434e17590735865c.tar.gz
kernel_samsung_smdk4412-e8695ebe5568921c41c269f4434e17590735865c.tar.bz2
regulator: documentation - regulator driver
This adds documentation describing the regulator driver interface. Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Diffstat (limited to 'Documentation/power/regulator')
-rw-r--r--Documentation/power/regulator/regulator.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/Documentation/power/regulator/regulator.txt b/Documentation/power/regulator/regulator.txt
new file mode 100644
index 0000000..a690501
--- /dev/null
+++ b/Documentation/power/regulator/regulator.txt
@@ -0,0 +1,30 @@
+Regulator Driver Interface
+==========================
+
+The regulator driver interface is relatively simple and designed to allow
+regulator drivers to register their services with the core framework.
+
+
+Registration
+============
+
+Drivers can register a regulator by calling :-
+
+struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
+ void *reg_data);
+
+This will register the regulators capabilities and operations the regulator
+core. The core does not touch reg_data (private to regulator driver).
+
+Regulators can be unregistered by calling :-
+
+void regulator_unregister(struct regulator_dev *rdev);
+
+
+Regulator Events
+================
+Regulators can send events (e.g. over temp, under voltage, etc) to consumer
+drivers by calling :-
+
+int regulator_notifier_call_chain(struct regulator_dev *rdev,
+ unsigned long event, void *data);