All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFT 1/2] regulator: da903x: Fix list voltage for da9030 ldo14
@ 2012-05-08 11:46 Axel Lin
  2012-05-08 11:47 ` [PATCH RFT 2/2] regulator: da903x: Convert to get_voltage_sel Axel Lin
  2012-05-12 10:14 ` [PATCH RFT 1/2] regulator: da903x: Fix list voltage for da9030 ldo14 Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Axel Lin @ 2012-05-08 11:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Eric Miao, Mike Rapoport, Liam Girdwood, Mark Brown

da903x_list_voltage does not return correct voltage for da9030 ldo14.
Implement da9030_list_ldo14_voltage to return correct voltage for da9030 ldo14.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
 drivers/regulator/da903x.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/drivers/regulator/da903x.c b/drivers/regulator/da903x.c
index 682bdb3..a9c4590 100644
--- a/drivers/regulator/da903x.c
+++ b/drivers/regulator/da903x.c
@@ -267,6 +267,24 @@ static int da9030_get_ldo14_voltage(struct regulator_dev *rdev)
 			info->step_uV * (val & ~0x4);
 }
 
+static int da9030_list_ldo14_voltage(struct regulator_dev *rdev,
+				     unsigned selector)
+{
+	struct da903x_regulator_info *info = rdev_get_drvdata(rdev);
+	int volt;
+
+	if (selector & 0x4)
+		volt = info->min_uV + info->step_uV * (3 - (selector & ~0x4));
+	else
+		volt = (info->max_uV + info->min_uV) / 2 +
+		       info->step_uV * (selector & ~0x4);
+
+	if (volt > info->max_uV)
+		return -EINVAL;
+
+	return volt;
+}
+
 /* DA9034 specific operations */
 static int da9034_set_dvc_voltage(struct regulator_dev *rdev,
 				  int min_uV, int max_uV, unsigned *selector)
@@ -357,7 +375,7 @@ static struct regulator_ops da903x_regulator_ldo_ops = {
 static struct regulator_ops da9030_regulator_ldo14_ops = {
 	.set_voltage	= da9030_set_ldo14_voltage,
 	.get_voltage	= da9030_get_ldo14_voltage,
-	.list_voltage	= da903x_list_voltage,
+	.list_voltage	= da9030_list_ldo14_voltage,
 	.enable		= da903x_enable,
 	.disable	= da903x_disable,
 	.is_enabled	= da903x_is_enabled,
-- 
1.7.5.4




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-05-12 10:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-08 11:46 [PATCH RFT 1/2] regulator: da903x: Fix list voltage for da9030 ldo14 Axel Lin
2012-05-08 11:47 ` [PATCH RFT 2/2] regulator: da903x: Convert to get_voltage_sel Axel Lin
2012-05-12 10:14 ` [PATCH RFT 1/2] regulator: da903x: Fix list voltage for da9030 ldo14 Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.