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