Liam Girdwood | e8695eb | 2008-04-30 17:20:11 +0100 | [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 | |
Linus Walleij | 040932c | 2009-08-21 14:00:57 +0200 | [diff] [blame] | 13 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, |
| 14 | struct device *dev, struct regulator_init_data *init_data, |
| 15 | void *driver_data); |
Liam Girdwood | e8695eb | 2008-04-30 17:20:11 +0100 | [diff] [blame] | 16 | |
Liam Girdwood | a5766f1 | 2008-10-10 13:22:20 +0100 | [diff] [blame] | 17 | This will register the regulators capabilities and operations to the regulator |
| 18 | core. |
Liam Girdwood | e8695eb | 2008-04-30 17:20:11 +0100 | [diff] [blame] | 19 | |
| 20 | Regulators can be unregistered by calling :- |
| 21 | |
| 22 | void regulator_unregister(struct regulator_dev *rdev); |
| 23 | |
| 24 | |
| 25 | Regulator Events |
| 26 | ================ |
| 27 | Regulators can send events (e.g. over temp, under voltage, etc) to consumer |
| 28 | drivers by calling :- |
| 29 | |
| 30 | int regulator_notifier_call_chain(struct regulator_dev *rdev, |
| 31 | unsigned long event, void *data); |