diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-07-19 03:11:39 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-08-28 14:00:24 -0400 |
commit | f1dcf9e4ed3261bdb22fead50e8bed7bd569bd2a (patch) | |
tree | f5d0358f226905cee86ef768dd2cfe4061ecfa6f /drivers/regulator | |
parent | 8db98440facad7e3a194f21ce6069e04bff336c6 (diff) |
regulator: mc13892: Convert mc13892_sw_regulator_ops to get_voltage_sel
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator')
-rw-r--r-- | drivers/regulator/mc13892-regulator.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/regulator/mc13892-regulator.c b/drivers/regulator/mc13892-regulator.c index 5d1d487c47af..09265f02ed37 100644 --- a/drivers/regulator/mc13892-regulator.c +++ b/drivers/regulator/mc13892-regulator.c | |||
@@ -393,11 +393,11 @@ static struct regulator_ops mc13892_gpo_regulator_ops = { | |||
393 | .get_voltage = mc13xxx_fixed_regulator_get_voltage, | 393 | .get_voltage = mc13xxx_fixed_regulator_get_voltage, |
394 | }; | 394 | }; |
395 | 395 | ||
396 | static int mc13892_sw_regulator_get_voltage(struct regulator_dev *rdev) | 396 | static int mc13892_sw_regulator_get_voltage_sel(struct regulator_dev *rdev) |
397 | { | 397 | { |
398 | struct mc13xxx_regulator_priv *priv = rdev_get_drvdata(rdev); | 398 | struct mc13xxx_regulator_priv *priv = rdev_get_drvdata(rdev); |
399 | int ret, id = rdev_get_id(rdev); | 399 | int ret, id = rdev_get_id(rdev); |
400 | unsigned int val, hi; | 400 | unsigned int val; |
401 | 401 | ||
402 | dev_dbg(rdev_get_dev(rdev), "%s id: %d\n", __func__, id); | 402 | dev_dbg(rdev_get_dev(rdev), "%s id: %d\n", __func__, id); |
403 | 403 | ||
@@ -408,17 +408,11 @@ static int mc13892_sw_regulator_get_voltage(struct regulator_dev *rdev) | |||
408 | if (ret) | 408 | if (ret) |
409 | return ret; | 409 | return ret; |
410 | 410 | ||
411 | hi = val & MC13892_SWITCHERS0_SWxHI; | ||
412 | val = (val & mc13892_regulators[id].vsel_mask) | 411 | val = (val & mc13892_regulators[id].vsel_mask) |
413 | >> mc13892_regulators[id].vsel_shift; | 412 | >> mc13892_regulators[id].vsel_shift; |
414 | 413 | ||
415 | dev_dbg(rdev_get_dev(rdev), "%s id: %d val: %d\n", __func__, id, val); | 414 | dev_dbg(rdev_get_dev(rdev), "%s id: %d val: %d\n", __func__, id, val); |
416 | 415 | ||
417 | if (hi) | ||
418 | val = (25000 * val) + 1100000; | ||
419 | else | ||
420 | val = (25000 * val) + 600000; | ||
421 | |||
422 | return val; | 416 | return val; |
423 | } | 417 | } |
424 | 418 | ||
@@ -453,7 +447,7 @@ static int mc13892_sw_regulator_set_voltage_sel(struct regulator_dev *rdev, | |||
453 | static struct regulator_ops mc13892_sw_regulator_ops = { | 447 | static struct regulator_ops mc13892_sw_regulator_ops = { |
454 | .list_voltage = regulator_list_voltage_table, | 448 | .list_voltage = regulator_list_voltage_table, |
455 | .set_voltage_sel = mc13892_sw_regulator_set_voltage_sel, | 449 | .set_voltage_sel = mc13892_sw_regulator_set_voltage_sel, |
456 | .get_voltage = mc13892_sw_regulator_get_voltage, | 450 | .get_voltage_sel = mc13892_sw_regulator_get_voltage_sel, |
457 | }; | 451 | }; |
458 | 452 | ||
459 | static int mc13892_vcam_set_mode(struct regulator_dev *rdev, unsigned int mode) | 453 | static int mc13892_vcam_set_mode(struct regulator_dev *rdev, unsigned int mode) |