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,
	struct device *dev, struct regulator_init_data *init_data,
	void *driver_data);

This will register the regulators 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. over temp, under voltage, etc) to consumer
drivers by calling :-

int regulator_notifier_call_chain(struct regulator_dev *rdev,
				  unsigned long event, void *data);
