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[] = {
|
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 */
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -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,
|
||||||
|
@ -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,7 +1029,8 @@ 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",
|
||||||
|
consumer_dev_name,
|
||||||
dev_name(&node->regulator->dev),
|
dev_name(&node->regulator->dev),
|
||||||
node->regulator->desc->name,
|
node->regulator->desc->name,
|
||||||
supply,
|
supply,
|
||||||
@ -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) {
|
||||||
|
@ -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" */
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user