Merge tag 'modules-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu...
[linux-2.6-microblaze.git] / Documentation / power / regulator / regulator.rst
1 ==========================
2 Regulator Driver Interface
3 ==========================
4
5 The regulator driver interface is relatively simple and designed to allow
6 regulator drivers to register their services with the core framework.
7
8
9 Registration
10 ============
11
12 Drivers can register a regulator by calling::
13
14   struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
15                                            const struct regulator_config *config);
16
17 This will register the regulator's capabilities and operations to the regulator
18 core.
19
20 Regulators can be unregistered by calling::
21
22   void regulator_unregister(struct regulator_dev *rdev);
23
24
25 Regulator Events
26 ================
27
28 Regulators can send events (e.g. overtemperature, undervoltage, etc) to
29 consumer drivers by calling::
30
31   int regulator_notifier_call_chain(struct regulator_dev *rdev,
32                                     unsigned long event, void *data);