xref: /linux/Documentation/power/regulator/regulator.rst (revision 26fbb4c8c7c3ee9a4c3b4de555a8587b5a19154e)
1==========================
2Regulator Driver Interface
3==========================
4
5The regulator driver interface is relatively simple and designed to allow
6regulator drivers to register their services with the core framework.
7
8
9Registration
10============
11
12Drivers 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
17This will register the regulator's capabilities and operations to the regulator
18core.
19
20Regulators can be unregistered by calling::
21
22  void regulator_unregister(struct regulator_dev *rdev);
23
24
25Regulator Events
26================
27
28Regulators can send events (e.g. overtemperature, undervoltage, etc) to
29consumer drivers by calling::
30
31  int regulator_notifier_call_chain(struct regulator_dev *rdev,
32				    unsigned long event, void *data);
33