Merge remote-tracking branch 'regulator/topic/supply' into regulator-next
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 18 Mar 2012 21:39:19 +0000 (21:39 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 18 Mar 2012 21:39:19 +0000 (21:39 +0000)
arch/arm/mach-u300/i2c.c
drivers/mfd/twl-core.c
drivers/regulator/core.c
include/linux/regulator/machine.h

index 5140deeddf7be45264de5257fb79dd6ada842382..a38f80238ea97f08a69a9e42fb80a430404ff4a5 100644 (file)
@@ -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 */
        },
 };
index 8ce3959c69199444f8b0cc27edc66b04968165cb..c1e4f1a277e9abc5bf609b2a945cb22073ac3271 100644 (file)
@@ -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,
index f4d31830f12b1cff77ed0806ce14380a06cfcccf..e2f3afa71efbff80de451f64448589054fcc1e2b 100644 (file)
@@ -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) {
index f3f13fd5868fae18e3dad5c42943396297d76808..7abb160933122bfc1ff334b5503398a5fe757ac4 100644 (file)
@@ -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" */
 };