Skip to content

Commit

Permalink
Merge remote-tracking branch 'regulator/topic/supply' into regulator-…
Browse files Browse the repository at this point in the history
…next
  • Loading branch information
Mark Brown committed Mar 18, 2012
2 parents c02f935 + 5bc7801 commit 115e4bf
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 25 deletions.
2 changes: 0 additions & 2 deletions arch/arm/mach-u300/i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ static struct regulator_consumer_supply supply_ldo_c[] = {
*/
static struct regulator_consumer_supply supply_ldo_d[] = {
{
.dev = NULL,
.supply = "vana15", /* Powers the SoC (CPU etc) */
},
};
Expand Down Expand Up @@ -92,7 +91,6 @@ static struct regulator_consumer_supply supply_ldo_k[] = {
*/
static struct regulator_consumer_supply supply_ldo_ext[] = {
{
.dev = NULL,
.supply = "vext", /* External power */
},
};
Expand Down
8 changes: 4 additions & 4 deletions drivers/mfd/twl-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -753,9 +753,9 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)

/* we need to connect regulators to this transceiver */
if (twl_has_regulator() && child) {
usb1v5.dev = child;
usb1v8.dev = child;
usb3v1.dev = child;
usb1v5.dev_name = dev_name(child);
usb1v8.dev_name = dev_name(child);
usb3v1.dev_name = dev_name(child);
}
}
if (twl_has_usb() && pdata->usb && twl_class_is_6030()) {
Expand Down Expand Up @@ -801,7 +801,7 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
return PTR_ERR(child);
/* we need to connect regulators to this transceiver */
if (twl_has_regulator() && child)
usb3v3.dev = child;
usb3v3.dev_name = dev_name(child);
} else if (twl_has_regulator() && twl_class_is_6030()) {
if (features & TWL6025_SUBCLASS)
child = add_regulator(TWL6025_REG_LDOUSB,
Expand Down
25 changes: 8 additions & 17 deletions drivers/regulator/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -995,30 +995,21 @@ static int set_supply(struct regulator_dev *rdev,
/**
* set_consumer_device_supply - Bind a regulator to a symbolic supply
* @rdev: regulator source
* @consumer_dev: device the supply applies to
* @consumer_dev_name: dev_name() string for device supply applies to
* @supply: symbolic name for supply
*
* Allows platform initialisation code to map physical regulator
* sources to symbolic names for supplies for use by devices. Devices
* should use these symbolic names to request regulators, avoiding the
* 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,
struct device *consumer_dev, const char *consumer_dev_name,
const char *supply)
const char *consumer_dev_name,
const char *supply)
{
struct regulator_map *node;
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)
return -EINVAL;

Expand All @@ -1038,11 +1029,12 @@ static int set_consumer_device_supply(struct regulator_dev *rdev,
if (strcmp(node->supply, supply) != 0)
continue;

dev_dbg(consumer_dev, "%s/%s is '%s' supply; fail %s/%s\n",
dev_name(&node->regulator->dev),
node->regulator->desc->name,
supply,
dev_name(&rdev->dev), rdev_get_name(rdev));
pr_debug("%s: %s/%s is '%s' supply; fail %s/%s\n",
consumer_dev_name,
dev_name(&node->regulator->dev),
node->regulator->desc->name,
supply,
dev_name(&rdev->dev), rdev_get_name(rdev));
return -EBUSY;
}

Expand Down Expand Up @@ -2955,7 +2947,6 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
if (init_data) {
for (i = 0; i < init_data->num_consumer_supplies; i++) {
ret = set_consumer_device_supply(rdev,
init_data->consumer_supplies[i].dev,
init_data->consumer_supplies[i].dev_name,
init_data->consumer_supplies[i].supply);
if (ret < 0) {
Expand Down
2 changes: 0 additions & 2 deletions include/linux/regulator/machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,10 @@ struct regulation_constraints {
* make struct device available late such as I2C and is the preferred
* form.
*
* @dev: Device structure for the consumer.
* @dev_name: Result of dev_name() for the consumer.
* @supply: Name for the supply.
*/
struct regulator_consumer_supply {
struct device *dev; /* consumer */
const char *dev_name; /* dev_name() for consumer */
const char *supply; /* consumer supply - e.g. "vcc" */
};
Expand Down

0 comments on commit 115e4bf

Please sign in to comment.