2024-09-09 08:52:07 +00:00
|
|
|
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,
|
2024-09-09 08:57:42 +00:00
|
|
|
const struct regulator_config *config);
|
2024-09-09 08:52:07 +00:00
|
|
|
|
2024-09-09 08:57:42 +00:00
|
|
|
This will register the regulator's capabilities and operations to the regulator
|
2024-09-09 08:52:07 +00:00
|
|
|
core.
|
|
|
|
|
|
|
|
Regulators can be unregistered by calling :-
|
|
|
|
|
|
|
|
void regulator_unregister(struct regulator_dev *rdev);
|
|
|
|
|
|
|
|
|
|
|
|
Regulator Events
|
|
|
|
================
|
2024-09-09 08:57:42 +00:00
|
|
|
Regulators can send events (e.g. overtemperature, undervoltage, etc) to
|
|
|
|
consumer drivers by calling :-
|
2024-09-09 08:52:07 +00:00
|
|
|
|
|
|
|
int regulator_notifier_call_chain(struct regulator_dev *rdev,
|
|
|
|
unsigned long event, void *data);
|