summaryrefslogtreecommitdiff
path: root/drivers/regulator
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-03-09 10:22:20 +0800
committerSimone Willett <swillett@nvidia.com>2012-03-18 20:27:17 -0700
commit8056a1e83b4fd2f6853290ef111cda7f90498306 (patch)
tree9f07635dc5754a62e49328554320d710803ad873 /drivers/regulator
parentd6028eabe062044d82753fa2d740bc09f0b459ed (diff)
regulator: Rename set_voltage_sel callback function name to *_sel
This change improves readability. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cherry-picked from mainline 94732b97c39859427cf99c34fc9de9750be7e5a5 Change-Id: Ie3eb5462a99cceab40ba0e26e4e3cdb93c5f3f0f Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/90515 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/tps65910-regulator.c16
-rw-r--r--drivers/regulator/tps65912-regulator.c50
2 files changed, 53 insertions, 13 deletions
diff --git a/drivers/regulator/tps65910-regulator.c b/drivers/regulator/tps65910-regulator.c
index dd3620d178a6..a477a0040beb 100644
--- a/drivers/regulator/tps65910-regulator.c
+++ b/drivers/regulator/tps65910-regulator.c
@@ -685,8 +685,8 @@ static int tps65911_get_voltage(struct regulator_dev *dev)
return (LDO_MIN_VOLT + value * step_mv) * 1000;
}
-static int tps65910_set_voltage_dcdc(struct regulator_dev *dev,
- unsigned selector)
+static int tps65910_set_voltage_dcdc_sel(struct regulator_dev *dev,
+ unsigned selector)
{
struct tps65910_reg *pmic = rdev_get_drvdata(dev);
int id = rdev_get_id(dev), vsel;
@@ -723,7 +723,8 @@ static int tps65910_set_voltage_dcdc(struct regulator_dev *dev,
return 0;
}
-static int tps65910_set_voltage(struct regulator_dev *dev, unsigned selector)
+static int tps65910_set_voltage_sel(struct regulator_dev *dev,
+ unsigned selector)
{
struct tps65910_reg *pmic = rdev_get_drvdata(dev);
int reg, id = rdev_get_id(dev);
@@ -749,7 +750,8 @@ static int tps65910_set_voltage(struct regulator_dev *dev, unsigned selector)
return -EINVAL;
}
-static int tps65911_set_voltage(struct regulator_dev *dev, unsigned selector)
+static int tps65911_set_voltage_sel(struct regulator_dev *dev,
+ unsigned selector)
{
struct tps65910_reg *pmic = rdev_get_drvdata(dev);
int reg, id = rdev_get_id(dev);
@@ -867,7 +869,7 @@ static struct regulator_ops tps65910_ops_dcdc = {
.set_mode = tps65910_set_mode,
.get_mode = tps65910_get_mode,
.get_voltage = tps65910_get_voltage_dcdc,
- .set_voltage_sel = tps65910_set_voltage_dcdc,
+ .set_voltage_sel = tps65910_set_voltage_dcdc_sel,
.list_voltage = tps65910_list_voltage_dcdc,
};
@@ -888,7 +890,7 @@ static struct regulator_ops tps65910_ops = {
.set_mode = tps65910_set_mode,
.get_mode = tps65910_get_mode,
.get_voltage = tps65910_get_voltage,
- .set_voltage_sel = tps65910_set_voltage,
+ .set_voltage_sel = tps65910_set_voltage_sel,
.list_voltage = tps65910_list_voltage,
};
@@ -899,7 +901,7 @@ static struct regulator_ops tps65911_ops = {
.set_mode = tps65910_set_mode,
.get_mode = tps65910_get_mode,
.get_voltage = tps65911_get_voltage,
- .set_voltage_sel = tps65911_set_voltage,
+ .set_voltage_sel = tps65911_set_voltage_sel,
.list_voltage = tps65911_list_voltage,
};
diff --git a/drivers/regulator/tps65912-regulator.c b/drivers/regulator/tps65912-regulator.c
index 3a9313e00fac..3bf29427a28d 100644
--- a/drivers/regulator/tps65912-regulator.c
+++ b/drivers/regulator/tps65912-regulator.c
@@ -568,8 +568,46 @@ static int tps65912_get_voltage_dcdc(struct regulator_dev *dev)
return voltage;
}
-static int tps65912_set_voltage_dcdc(struct regulator_dev *dev,
- unsigned selector)
+static int tps65912_get_voltage_dcdc(struct regulator_dev *dev)
+{
+ struct tps65912_reg *pmic = rdev_get_drvdata(dev);
+ struct tps65912 *mfd = pmic->mfd;
+ int id = rdev_get_id(dev);
+ int opvsel = 0, avsel = 0, sr, vsel;
+
+ switch (id) {
+ case TPS65912_REG_DCDC1:
+ opvsel = tps65912_reg_read(mfd, TPS65912_DCDC1_OP);
+ avsel = tps65912_reg_read(mfd, TPS65912_DCDC1_AVS);
+ break;
+ case TPS65912_REG_DCDC2:
+ opvsel = tps65912_reg_read(mfd, TPS65912_DCDC2_OP);
+ avsel = tps65912_reg_read(mfd, TPS65912_DCDC2_AVS);
+ break;
+ case TPS65912_REG_DCDC3:
+ opvsel = tps65912_reg_read(mfd, TPS65912_DCDC3_OP);
+ avsel = tps65912_reg_read(mfd, TPS65912_DCDC3_AVS);
+ break;
+ case TPS65912_REG_DCDC4:
+ opvsel = tps65912_reg_read(mfd, TPS65912_DCDC4_OP);
+ avsel = tps65912_reg_read(mfd, TPS65912_DCDC4_AVS);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ sr = (opvsel & OP_SELREG_MASK) >> OP_SELREG_SHIFT;
+ if (sr)
+ vsel = avsel;
+ else
+ vsel = opvsel;
+ vsel &= 0x3F;
+
+ return tps65912_list_voltage_dcdc(dev, vsel);
+}
+
+static int tps65912_set_voltage_dcdc_sel(struct regulator_dev *dev,
+ unsigned selector)
{
struct tps65912_reg *pmic = rdev_get_drvdata(dev);
struct tps65912 *mfd = pmic->mfd;
@@ -598,8 +636,8 @@ static int tps65912_get_voltage_ldo(struct regulator_dev *dev)
return tps65912_vsel_to_uv_ldo(vsel);
}
-static int tps65912_set_voltage_ldo(struct regulator_dev *dev,
- unsigned selector)
+static int tps65912_set_voltage_ldo_sel(struct regulator_dev *dev,
+ unsigned selector)
{
struct tps65912_reg *pmic = rdev_get_drvdata(dev);
struct tps65912 *mfd = pmic->mfd;
@@ -674,7 +712,7 @@ static struct regulator_ops tps65912_ops_dcdc = {
.set_mode = tps65912_set_mode,
.get_mode = tps65912_get_mode,
.get_voltage = tps65912_get_voltage_dcdc,
- .set_voltage_sel = tps65912_set_voltage_dcdc,
+ .set_voltage_sel = tps65912_set_voltage_dcdc_sel,
.list_voltage = tps65912_list_voltage_dcdc,
};
@@ -684,7 +722,7 @@ static struct regulator_ops tps65912_ops_ldo = {
.enable = tps65912_reg_enable,
.disable = tps65912_reg_disable,
.get_voltage = tps65912_get_voltage_ldo,
- .set_voltage_sel = tps65912_set_voltage_ldo,
+ .set_voltage_sel = tps65912_set_voltage_ldo_sel,
.list_voltage = tps65912_list_voltage_ldo,
};