diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-03-15 05:18:35 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-04-01 06:59:25 -0400 |
commit | 33426e97968113d5421acc82b494d8a035ca4331 (patch) | |
tree | d6f9fa008fcc723a3686b0f3f04e1f055a86cbe7 /drivers/regulator/tps65912-regulator.c | |
parent | f72d643e87581cbee49f39c1fd8268b1a9252b80 (diff) |
regulator: Use tps65912_get_voltage for both DCDCs and LDOs
Now tps65912_get_voltage_dcdc and tps65912_get_voltage_ldo has exactly the same
implementation. We can merge them to tps65912_get_voltage function.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/tps65912-regulator.c')
-rw-r--r-- | drivers/regulator/tps65912-regulator.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/drivers/regulator/tps65912-regulator.c b/drivers/regulator/tps65912-regulator.c index 46f3c6160fda..05ea096cf8a7 100644 --- a/drivers/regulator/tps65912-regulator.c +++ b/drivers/regulator/tps65912-regulator.c | |||
@@ -406,7 +406,7 @@ static int tps65912_list_voltage(struct regulator_dev *dev, unsigned selector) | |||
406 | return voltage; | 406 | return voltage; |
407 | } | 407 | } |
408 | 408 | ||
409 | static int tps65912_get_voltage_dcdc(struct regulator_dev *dev) | 409 | static int tps65912_get_voltage(struct regulator_dev *dev) |
410 | { | 410 | { |
411 | struct tps65912_reg *pmic = rdev_get_drvdata(dev); | 411 | struct tps65912_reg *pmic = rdev_get_drvdata(dev); |
412 | struct tps65912 *mfd = pmic->mfd; | 412 | struct tps65912 *mfd = pmic->mfd; |
@@ -438,21 +438,6 @@ static int tps65912_set_voltage_sel(struct regulator_dev *dev, | |||
438 | return tps65912_reg_write(mfd, reg, selector | value); | 438 | return tps65912_reg_write(mfd, reg, selector | value); |
439 | } | 439 | } |
440 | 440 | ||
441 | static int tps65912_get_voltage_ldo(struct regulator_dev *dev) | ||
442 | { | ||
443 | struct tps65912_reg *pmic = rdev_get_drvdata(dev); | ||
444 | struct tps65912 *mfd = pmic->mfd; | ||
445 | int id = rdev_get_id(dev); | ||
446 | int vsel = 0; | ||
447 | u8 reg; | ||
448 | |||
449 | reg = tps65912_get_sel_register(pmic, id); | ||
450 | vsel = tps65912_reg_read(mfd, reg); | ||
451 | vsel &= 0x3F; | ||
452 | |||
453 | return tps65912_vsel_to_uv_ldo(vsel); | ||
454 | } | ||
455 | |||
456 | /* Operations permitted on DCDCx */ | 441 | /* Operations permitted on DCDCx */ |
457 | static struct regulator_ops tps65912_ops_dcdc = { | 442 | static struct regulator_ops tps65912_ops_dcdc = { |
458 | .is_enabled = tps65912_reg_is_enabled, | 443 | .is_enabled = tps65912_reg_is_enabled, |
@@ -460,7 +445,7 @@ static struct regulator_ops tps65912_ops_dcdc = { | |||
460 | .disable = tps65912_reg_disable, | 445 | .disable = tps65912_reg_disable, |
461 | .set_mode = tps65912_set_mode, | 446 | .set_mode = tps65912_set_mode, |
462 | .get_mode = tps65912_get_mode, | 447 | .get_mode = tps65912_get_mode, |
463 | .get_voltage = tps65912_get_voltage_dcdc, | 448 | .get_voltage = tps65912_get_voltage, |
464 | .set_voltage_sel = tps65912_set_voltage_sel, | 449 | .set_voltage_sel = tps65912_set_voltage_sel, |
465 | .list_voltage = tps65912_list_voltage, | 450 | .list_voltage = tps65912_list_voltage, |
466 | }; | 451 | }; |
@@ -470,7 +455,7 @@ static struct regulator_ops tps65912_ops_ldo = { | |||
470 | .is_enabled = tps65912_reg_is_enabled, | 455 | .is_enabled = tps65912_reg_is_enabled, |
471 | .enable = tps65912_reg_enable, | 456 | .enable = tps65912_reg_enable, |
472 | .disable = tps65912_reg_disable, | 457 | .disable = tps65912_reg_disable, |
473 | .get_voltage = tps65912_get_voltage_ldo, | 458 | .get_voltage = tps65912_get_voltage, |
474 | .set_voltage_sel = tps65912_set_voltage_sel, | 459 | .set_voltage_sel = tps65912_set_voltage_sel, |
475 | .list_voltage = tps65912_list_voltage, | 460 | .list_voltage = tps65912_list_voltage, |
476 | }; | 461 | }; |