aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/tps62360-regulator.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-06-20 10:55:50 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-07-02 13:27:10 -0400
commit0072f0a82ce78ceb634f00a57d80c9b421b061d4 (patch)
tree5c33c513cf8af95d921ba50e6b6f583906fd532a /drivers/regulator/tps62360-regulator.c
parent1a5d39d0644fa01e659ee42b5ec47abbd7db3afb (diff)
regulator: tps62360: Convert to regulator_set_voltage_time_sel()
Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/tps62360-regulator.c')
-rw-r--r--drivers/regulator/tps62360-regulator.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/regulator/tps62360-regulator.c b/drivers/regulator/tps62360-regulator.c
index bcea4e1eea1e..103bb62aaef8 100644
--- a/drivers/regulator/tps62360-regulator.c
+++ b/drivers/regulator/tps62360-regulator.c
@@ -74,7 +74,6 @@ struct tps62360_chip {
74 int lru_index[4]; 74 int lru_index[4];
75 int curr_vset_vsel[4]; 75 int curr_vset_vsel[4];
76 int curr_vset_id; 76 int curr_vset_id;
77 int change_uv_per_us;
78}; 77};
79 78
80/* 79/*
@@ -173,16 +172,6 @@ static int tps62360_dcdc_set_voltage_sel(struct regulator_dev *dev,
173 return 0; 172 return 0;
174} 173}
175 174
176static int tps62360_set_voltage_time_sel(struct regulator_dev *rdev,
177 unsigned int old_selector, unsigned int new_selector)
178{
179 struct tps62360_chip *tps = rdev_get_drvdata(rdev);
180
181 return DIV_ROUND_UP(abs(new_selector - old_selector) *
182 rdev->desc->uV_step,
183 tps->change_uv_per_us);
184}
185
186static int tps62360_set_mode(struct regulator_dev *rdev, unsigned int mode) 175static int tps62360_set_mode(struct regulator_dev *rdev, unsigned int mode)
187{ 176{
188 struct tps62360_chip *tps = rdev_get_drvdata(rdev); 177 struct tps62360_chip *tps = rdev_get_drvdata(rdev);
@@ -249,7 +238,7 @@ static struct regulator_ops tps62360_dcdc_ops = {
249 .set_voltage_sel = tps62360_dcdc_set_voltage_sel, 238 .set_voltage_sel = tps62360_dcdc_set_voltage_sel,
250 .list_voltage = regulator_list_voltage_linear, 239 .list_voltage = regulator_list_voltage_linear,
251 .map_voltage = regulator_map_voltage_linear, 240 .map_voltage = regulator_map_voltage_linear,
252 .set_voltage_time_sel = tps62360_set_voltage_time_sel, 241 .set_voltage_time_sel = regulator_set_voltage_time_sel,
253 .set_mode = tps62360_set_mode, 242 .set_mode = tps62360_set_mode,
254 .get_mode = tps62360_get_mode, 243 .get_mode = tps62360_get_mode,
255}; 244};
@@ -292,7 +281,7 @@ static int __devinit tps62360_init_dcdc(struct tps62360_chip *tps,
292 ramp_ctrl = (ramp_ctrl >> 4) & 0x7; 281 ramp_ctrl = (ramp_ctrl >> 4) & 0x7;
293 282
294 /* ramp mV/us = 32/(2^ramp_ctrl) */ 283 /* ramp mV/us = 32/(2^ramp_ctrl) */
295 tps->change_uv_per_us = DIV_ROUND_UP(32000, BIT(ramp_ctrl)); 284 tps->desc.ramp_delay = DIV_ROUND_UP(32000, BIT(ramp_ctrl));
296 return ret; 285 return ret;
297} 286}
298 287