Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | Regulator Driver Interface |
| 2 | ========================== |
| 3 | |
| 4 | The regulator driver interface is relatively simple and designed to allow |
| 5 | regulator drivers to register their services with the core framework. |
| 6 | |
| 7 | |
| 8 | Registration |
| 9 | ============ |
| 10 | |
| 11 | Drivers can register a regulator by calling :- |
| 12 | |
| 13 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, |
| 14 | const struct regulator_config *config); |
| 15 | |
| 16 | This will register the regulator's capabilities and operations to the regulator |
| 17 | core. |
| 18 | |
| 19 | Regulators can be unregistered by calling :- |
| 20 | |
| 21 | void regulator_unregister(struct regulator_dev *rdev); |
| 22 | |
| 23 | |
| 24 | Regulator Events |
| 25 | ================ |
| 26 | Regulators can send events (e.g. overtemperature, undervoltage, etc) to |
| 27 | consumer drivers by calling :- |
| 28 | |
| 29 | int regulator_notifier_call_chain(struct regulator_dev *rdev, |
| 30 | unsigned long event, void *data); |