| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 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); |