diff mbox

regulator: axp20x: Fix LDO4 linear voltage range

Message ID 1461679251-25538-1-git-send-email-maxime.ripard@free-electrons.com (mailing list archive)
State New, archived
Headers show

Commit Message

Maxime Ripard April 26, 2016, 2 p.m. UTC
The current linear voltage range for the LDO4 regulator found in the APX20X
PMICs assumes that the voltage is linear between 2.5 and 3.1V.

However, the PMIC can output up to 3.3V on that regulator by skipping the
2.6V and 2.9V steps.

Fix the ranges to read and set the proper voltages.

Fixes: 13d57e64352a ("regulator: axp20x: Use linear voltage ranges for AXP20X LDO4")
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
Hi Mark,

This patch fixes a commit merged into 4.6-rc1, so it should probably go in
the next -rc release.

Thanks!
Maxime

 drivers/regulator/axp20x-regulator.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Chen-Yu Tsai April 26, 2016, 2:18 p.m. UTC | #1
On Tue, Apr 26, 2016 at 10:00 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> The current linear voltage range for the LDO4 regulator found in the APX20X
> PMICs assumes that the voltage is linear between 2.5 and 3.1V.
>
> However, the PMIC can output up to 3.3V on that regulator by skipping the
> 2.6V and 2.9V steps.
>
> Fix the ranges to read and set the proper voltages.
>
> Fixes: 13d57e64352a ("regulator: axp20x: Use linear voltage ranges for AXP20X LDO4")
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Acked-by: Chen-Yu Tsai <wens@csie.org>

Hans sent an identical patch (plus another fix) a month ago though.

> ---
> Hi Mark,
>
> This patch fixes a commit merged into 4.6-rc1, so it should probably go in
> the next -rc release.
>
> Thanks!
> Maxime
>
>  drivers/regulator/axp20x-regulator.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
> index 40cd894e4df5..29ab0985b46e 100644
> --- a/drivers/regulator/axp20x-regulator.c
> +++ b/drivers/regulator/axp20x-regulator.c
> @@ -157,7 +157,9 @@ static struct regulator_ops axp20x_ops_sw = {
>  static const struct regulator_linear_range axp20x_ldo4_ranges[] = {
>         REGULATOR_LINEAR_RANGE(1250000, 0x0, 0x0, 0),
>         REGULATOR_LINEAR_RANGE(1300000, 0x1, 0x8, 100000),
> -       REGULATOR_LINEAR_RANGE(2500000, 0x9, 0xf, 100000),
> +       REGULATOR_LINEAR_RANGE(2500000, 0x9, 0x9, 0),
> +       REGULATOR_LINEAR_RANGE(2700000, 0xa, 0xb, 100000),
> +       REGULATOR_LINEAR_RANGE(3000000, 0xc, 0xf, 100000),
>  };
>
>  static const struct regulator_desc axp20x_regulators[] = {
> --
> 2.8.1
>
Mark Brown April 26, 2016, 2:57 p.m. UTC | #2
On Tue, Apr 26, 2016 at 10:18:04PM +0800, Chen-Yu Tsai wrote:

> Hans sent an identical patch (plus another fix) a month ago though.

I have no record of any such patch, I don't know where it might've been
sent.
Hans de Goede April 27, 2016, 9:46 a.m. UTC | #3
Hi,

On 26-04-16 16:57, Mark Brown wrote:
> On Tue, Apr 26, 2016 at 10:18:04PM +0800, Chen-Yu Tsai wrote:
>
>> Hans sent an identical patch (plus another fix) a month ago though.
>
> I have no record of any such patch, I don't know where it might've been
> sent.

It is here:

https://groups.google.com/forum/#!topic/linux-sunxi/3sjt47-CtbU

And according to that archive it was send to broonie@linaro.org
(amongst others).

Regards,

Hans
Mark Brown April 27, 2016, 10:32 a.m. UTC | #4
On Wed, Apr 27, 2016 at 11:46:29AM +0200, Hans de Goede wrote:
> On 26-04-16 16:57, Mark Brown wrote:

> >I have no record of any such patch, I don't know where it might've been
> >sent.

> It is here:

Please follow the normal submission workflow, don't pick random new
places to send things.  It's fine to copy extra places but if you don't
send to the normal places your patches are likely to not be seen.

> https://groups.google.com/forum/#!topic/linux-sunxi/3sjt47-CtbU

That's linux-sunxi and linux-arm-kernel but not linux-kernel where
regulator patches are supposed to be sent.  I did go look to see if I
could see anything on lkml but there was nothing visible from you.

> And according to that archive it was send to broonie@linaro.org
> (amongst others).

That's my work address, not broonie@kernel.org which is the address I
use consistently and which is what is advertised in MAINTAINERS.  That
goes somewhere completely different which isn't set up to handle patches
and since essentialy everything that does manage to get sent there is
also sent to the right place things sent there tend to get deleted
unread when I'm doing inbox triage which I imagine is what happened
here.  This is the one that's most critical.
diff mbox

Patch

diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
index 40cd894e4df5..29ab0985b46e 100644
--- a/drivers/regulator/axp20x-regulator.c
+++ b/drivers/regulator/axp20x-regulator.c
@@ -157,7 +157,9 @@  static struct regulator_ops axp20x_ops_sw = {
 static const struct regulator_linear_range axp20x_ldo4_ranges[] = {
 	REGULATOR_LINEAR_RANGE(1250000, 0x0, 0x0, 0),
 	REGULATOR_LINEAR_RANGE(1300000, 0x1, 0x8, 100000),
-	REGULATOR_LINEAR_RANGE(2500000, 0x9, 0xf, 100000),
+	REGULATOR_LINEAR_RANGE(2500000, 0x9, 0x9, 0),
+	REGULATOR_LINEAR_RANGE(2700000, 0xa, 0xb, 100000),
+	REGULATOR_LINEAR_RANGE(3000000, 0xc, 0xf, 100000),
 };
 
 static const struct regulator_desc axp20x_regulators[] = {