* [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
* Re: [PATCH RFT] regulator: palmas: Fix off-by-one for ramp_delay and register value mapping
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
0 siblings, 0 replies; 2+ messages in thread
From: Laxman Dewangan @ 2013-04-22 9:15 UTC (permalink / raw)
To: Axel Lin
Cc: Mark Brown, Graeme Gregory, Liam Girdwood,
linux-kernel@vger.kernel.org
On Sunday 21 April 2013 10:28 PM, Axel Lin wrote:
> 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.
>
Datasheet says:
Time Step (TSTEP) selection, when changing the
output voltage, the new value is reached through
successive voltage steps (if not bypassed). The
equivalent programmable slew rate of the output
voltage is:
TSTEP[1:0]: 00 Jump (no slope control)
TSTEP[1:0]: 01 10mV/us
TSTEP[1:0]: 10 5mV/us (default)
TSTEP[1:0]: 11 2.5mV/us
^ permalink raw reply [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