forked from luck/tmp_suning_uos_patched
Merge remote-tracking branch 'regulator/topic/supply' into regulator-next
This commit is contained in:
commit
115e4bfd5b
@ -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) */
|
||||
},
|
||||
};
|
||||
@ -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 */
|
||||
},
|
||||
};
|
||||
|
@ -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()) {
|
||||
@ -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,
|
||||
|
@ -995,7 +995,6 @@ 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
|
||||
*
|
||||
@ -1003,22 +1002,14 @@ static int set_supply(struct regulator_dev *rdev,
|
||||
* 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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
@ -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" */
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user