public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFT] regulator: palmas: Fix off-by-one for ramp_delay and register value mapping
@ 2013-04-21 16:58 Axel Lin
  2013-04-22  9:15 ` Laxman Dewangan
  0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2013-04-21 16:58 UTC (permalink / raw)
  To: Mark Brown; +Cc: Laxman Dewangan, Graeme Gregory, Liam Girdwood, linux-kernel

In probe(), we have below code to set ramp_delay:
e.g. When reg is 2, current code set
pmic->desc[id].ramp_delay = palmas_smps_ramp_delay[reg & 0x3];
                          = 5000
which means ramp_delay = 5000 is mapping to reg value = 2;

However, in palmas_smps_set_ramp_delay()
        ramp_delay = 5000 is mapping to reg value = 1.

This patch fixes the off-by-one value range checking for ramp_delay in
palmas_smps_set_ramp_delay().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
Hi Laxman,
I don't have the datasheet, so please check if this fix is correct.

Thanks,
Axel
 drivers/regulator/palmas-regulator.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c
index 8fed60c..e3e8373 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -447,9 +447,9 @@ static int palmas_smps_set_ramp_delay(struct regulator_dev *rdev,
 
 	if (ramp_delay <= 0)
 		reg = 0;
-	else if (ramp_delay < 2500)
+	else if (ramp_delay <= 2500)From 6f6875db93eeff52d39623dd68522e1875cf5ef1 Mon Sep 17 00:00:00 2001
From: Axel Lin <axel.lin@ingics.com>
Date: Mon, 22 Apr 2013 00:50:55 +0800
Subject: [PATCH RFT] regulator: palmas: Fix off-by-one for ramp_delay and register value mapping

In probe(), we have below code to set ramp_delay:
e.g. When reg is 2, current code set
pmic->desc[id].ramp_delay = palmas_smps_ramp_delay[reg & 0x3];
                          = 5000
which means ramp_delay = 5000 is mapping to reg value = 2;

However, in palmas_smps_set_ramp_delay()
        ramp_delay = 5000 is mapping to reg value = 1.

This patch fixes the off-by-one value range checking for ramp_delay in
palmas_smps_set_ramp_delay().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
Hi Laxman,
I don't have the datasheet, so please check if this fix is correct.

Thanks,
Axel
 drivers/regulator/palmas-regulator.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c
index 8fed60c..e3e8373 100644
--- a/drivers/regulator/palmas-regulator.c
+++ b/drivers/regulator/palmas-regulator.c
@@ -447,9 +447,9 @@ static int palmas_smps_set_ramp_delay(struct regulator_dev *rdev,
 
 	if (ramp_delay <= 0)
 		reg = 0;
-	else if (ramp_delay < 2500)
+	else if (ramp_delay <= 2500)
 		reg = 3;
-	else if (ramp_delay < 5000)
+	else if (ramp_delay <= 5000)
 		reg = 2;
 	else
 		reg = 1;
-- 
1.7.10.4


 		reg = 3;
-	else if (ramp_delay < 5000)
+	else if (ramp_delay <= 5000)
 		reg = 2;
 	else
 		reg = 1;
-- 
1.7.10.4




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

end of thread, other threads:[~2013-04-22  9:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-21 16:58 [PATCH RFT] regulator: palmas: Fix off-by-one for ramp_delay and register value mapping Axel Lin
2013-04-22  9:15 ` Laxman Dewangan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox