Merge remote-tracking branch 'regulator/topic/supply' into regulator-next

This commit is contained in:
Mark Brown 2012-03-18 21:39:19 +00:00
commit 115e4bfd5b
4 changed files with 12 additions and 25 deletions

View File

@ -60,7 +60,6 @@ static struct regulator_consumer_supply supply_ldo_c[] = {
*/ */
static struct regulator_consumer_supply supply_ldo_d[] = { static struct regulator_consumer_supply supply_ldo_d[] = {
{ {
.dev = NULL,
.supply = "vana15", /* Powers the SoC (CPU etc) */ .supply = "vana15", /* Powers the SoC (CPU etc) */
}, },
}; };
@ -92,7 +91,6 @@ static struct regulator_consumer_supply supply_ldo_k[] = {
*/ */
static struct regulator_consumer_supply supply_ldo_ext[] = { static struct regulator_consumer_supply supply_ldo_ext[] = {
{ {
.dev = NULL,
.supply = "vext", /* External power */ .supply = "vext", /* External power */
}, },
}; };

View File

@ -753,9 +753,9 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
/* we need to connect regulators to this transceiver */ /* we need to connect regulators to this transceiver */
if (twl_has_regulator() && child) { if (twl_has_regulator() && child) {
usb1v5.dev = child; usb1v5.dev_name = dev_name(child);
usb1v8.dev = child; usb1v8.dev_name = dev_name(child);
usb3v1.dev = child; usb3v1.dev_name = dev_name(child);
} }
} }
if (twl_has_usb() && pdata->usb && twl_class_is_6030()) { if (twl_has_usb() && pdata->usb && twl_class_is_6030()) {
@ -801,7 +801,7 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
return PTR_ERR(child); return PTR_ERR(child);
/* we need to connect regulators to this transceiver */ /* we need to connect regulators to this transceiver */
if (twl_has_regulator() && child) if (twl_has_regulator() && child)
usb3v3.dev = child; usb3v3.dev_name = dev_name(child);
} else if (twl_has_regulator() && twl_class_is_6030()) { } else if (twl_has_regulator() && twl_class_is_6030()) {
if (features & TWL6025_SUBCLASS) if (features & TWL6025_SUBCLASS)
child = add_regulator(TWL6025_REG_LDOUSB, child = add_regulator(TWL6025_REG_LDOUSB,

View File

@ -995,7 +995,6 @@ static int set_supply(struct regulator_dev *rdev,
/** /**
* set_consumer_device_supply - Bind a regulator to a symbolic supply * set_consumer_device_supply - Bind a regulator to a symbolic supply
* @rdev: regulator source * @rdev: regulator source
* @consumer_dev: device the supply applies to
* @consumer_dev_name: dev_name() string for device supply applies to * @consumer_dev_name: dev_name() string for device supply applies to
* @supply: symbolic name for supply * @supply: symbolic name for supply
* *
@ -1003,22 +1002,14 @@ static int set_supply(struct regulator_dev *rdev,
* sources to symbolic names for supplies for use by devices. Devices * sources to symbolic names for supplies for use by devices. Devices
* should use these symbolic names to request regulators, avoiding the * should use these symbolic names to request regulators, avoiding the
* need to provide board-specific regulator names as platform data. * need to provide board-specific regulator names as platform data.
*
* Only one of consumer_dev and consumer_dev_name may be specified.
*/ */
static int set_consumer_device_supply(struct regulator_dev *rdev, static int set_consumer_device_supply(struct regulator_dev *rdev,
struct device *consumer_dev, const char *consumer_dev_name, const char *consumer_dev_name,
const char *supply) const char *supply)
{ {
struct regulator_map *node; struct regulator_map *node;
int has_dev; int has_dev;
if (consumer_dev && consumer_dev_name)
return -EINVAL;
if (!consumer_dev_name && consumer_dev)
consumer_dev_name = dev_name(consumer_dev);
if (supply == NULL) if (supply == NULL)
return -EINVAL; return -EINVAL;
@ -1038,11 +1029,12 @@ static int set_consumer_device_supply(struct regulator_dev *rdev,
if (strcmp(node->supply, supply) != 0) if (strcmp(node->supply, supply) != 0)
continue; continue;
dev_dbg(consumer_dev, "%s/%s is '%s' supply; fail %s/%s\n", pr_debug("%s: %s/%s is '%s' supply; fail %s/%s\n",
dev_name(&node->regulator->dev), consumer_dev_name,
node->regulator->desc->name, dev_name(&node->regulator->dev),
supply, node->regulator->desc->name,
dev_name(&rdev->dev), rdev_get_name(rdev)); supply,
dev_name(&rdev->dev), rdev_get_name(rdev));
return -EBUSY; return -EBUSY;
} }
@ -2955,7 +2947,6 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
if (init_data) { if (init_data) {
for (i = 0; i < init_data->num_consumer_supplies; i++) { for (i = 0; i < init_data->num_consumer_supplies; i++) {
ret = set_consumer_device_supply(rdev, ret = set_consumer_device_supply(rdev,
init_data->consumer_supplies[i].dev,
init_data->consumer_supplies[i].dev_name, init_data->consumer_supplies[i].dev_name,
init_data->consumer_supplies[i].supply); init_data->consumer_supplies[i].supply);
if (ret < 0) { if (ret < 0) {

View File

@ -139,12 +139,10 @@ struct regulation_constraints {
* make struct device available late such as I2C and is the preferred * make struct device available late such as I2C and is the preferred
* form. * form.
* *
* @dev: Device structure for the consumer.
* @dev_name: Result of dev_name() for the consumer. * @dev_name: Result of dev_name() for the consumer.
* @supply: Name for the supply. * @supply: Name for the supply.
*/ */
struct regulator_consumer_supply { struct regulator_consumer_supply {
struct device *dev; /* consumer */
const char *dev_name; /* dev_name() for consumer */ const char *dev_name; /* dev_name() for consumer */
const char *supply; /* consumer supply - e.g. "vcc" */ const char *supply; /* consumer supply - e.g. "vcc" */
}; };