Copying Graeme and linux-omap list.

On Saturday 14 July 2012 11:11 AM, Axel Lin wrote:
Signed-off-by: Axel Lin<axel....@gmail.com>
---
  drivers/regulator/twl-regulator.c |   24 +++++++++++++-----------
  1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/drivers/regulator/twl-regulator.c 
b/drivers/regulator/twl-regulator.c
index 03d0bea..8dae1e3 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -755,12 +755,11 @@ static int twl6030smps_list_voltage(struct regulator_dev 
*rdev, unsigned index)
        return voltage;
  }

-static int
-twl6030smps_set_voltage(struct regulator_dev *rdev, int min_uV, int max_uV,
-                       unsigned int *selector)
+static int twl6030smps_map_voltage(struct regulator_dev *rdev, int min_uV,
+                                  int max_uV)
  {
-       struct twlreg_info      *info = rdev_get_drvdata(rdev);
-       int vsel = 0, calc_uV;
+       struct twlreg_info *info = rdev_get_drvdata(rdev);
+       int vsel = 0;

        switch (info->flags) {
        case 0:
@@ -827,14 +826,16 @@ twl6030smps_set_voltage(struct regulator_dev *rdev, int 
min_uV, int max_uV,
                break;
        }

-       calc_uV = twl6030smps_list_voltage(rdev, vsel);
-       if (calc_uV>  max_uV)
-               return -EINVAL;
+       return vsel;
+}

-       *selector = vsel;
+static int twl6030smps_set_voltage_sel(struct regulator_dev *rdev,
+                                      unsigned int selector)
+{
+       struct twlreg_info *info = rdev_get_drvdata(rdev);

        return twlreg_write(info, TWL_MODULE_PM_RECEIVER, VREG_VOLTAGE_SMPS,
-                                                       vsel);
+                           selector);
  }

  static int twl6030smps_get_voltage_sel(struct regulator_dev *rdev)
@@ -846,8 +847,9 @@ static int twl6030smps_get_voltage_sel(struct regulator_dev 
*rdev)

  static struct regulator_ops twlsmps_ops = {
        .list_voltage           = twl6030smps_list_voltage,
+       .map_voltage            = twl6030smps_map_voltage,

-       .set_voltage            = twl6030smps_set_voltage,
+       .set_voltage_sel        = twl6030smps_set_voltage_sel,
        .get_voltage_sel        = twl6030smps_get_voltage_sel,

        .enable                 = twl6030reg_enable,

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to