diff options
Diffstat (limited to 'include/linux/regulator')
| -rw-r--r-- | include/linux/regulator/driver.h | 8 | ||||
| -rw-r--r-- | include/linux/regulator/machine.h | 30 | 
2 files changed, 29 insertions, 9 deletions
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 1d712c7..bc01b42 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h @@ -18,8 +18,8 @@  #include <linux/device.h>  #include <linux/regulator/consumer.h> -struct regulator_constraints;  struct regulator_dev; +struct regulator_init_data;  /**   * struct regulator_ops - regulator operations. @@ -85,15 +85,17 @@ struct regulator_desc {  	struct module *owner;  }; -  struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, -					  void *reg_data); +	struct device *dev, void *driver_data);  void regulator_unregister(struct regulator_dev *rdev);  int regulator_notifier_call_chain(struct regulator_dev *rdev,  				  unsigned long event, void *data);  void *rdev_get_drvdata(struct regulator_dev *rdev); +struct device *rdev_get_dev(struct regulator_dev *rdev);  int rdev_get_id(struct regulator_dev *rdev); +void *regulator_get_init_drvdata(struct regulator_init_data *reg_init_data); +  #endif diff --git a/include/linux/regulator/machine.h b/include/linux/regulator/machine.h index 11e737d..c6d6933 100644 --- a/include/linux/regulator/machine.h +++ b/include/linux/regulator/machine.h @@ -89,15 +89,33 @@ struct regulation_constraints {  	unsigned apply_uV:1;	/* apply uV constraint iff min == max */  }; -int regulator_set_supply(const char *regulator, const char *regulator_supply); +/** + * struct regulator_consumer_supply - supply -> device mapping + * + * This maps a supply name to a device. + */ +struct regulator_consumer_supply { +	struct device *dev;	/* consumer */ +	const char *supply;	/* consumer supply - e.g. "vcc" */ +}; -const char *regulator_get_supply(const char *regulator); +/** + * struct regulator_init_data - regulator platform initialisation data. + * + * Initialisation constraints, our supply and consumers supplies. + */ +struct regulator_init_data { +	struct device *supply_regulator_dev; /* or NULL for LINE */ -int regulator_set_machine_constraints(const char *regulator, -	struct regulation_constraints *constraints); +	struct regulation_constraints constraints; -int regulator_set_device_supply(const char *regulator, struct device *dev, -				const char *supply); +	int num_consumer_supplies; +	struct regulator_consumer_supply *consumer_supplies; + +	/* optional regulator machine specific init */ +	int (*regulator_init)(void *driver_data); +	void *driver_data;	/* core does not touch this */ +};  int regulator_suspend_prepare(suspend_state_t state);  | 
