2011-05-27 19:25:36

by Colin Cross

[permalink] [raw]
Subject: [PATCH] regulator: twl-regulator: fix n_voltages for twl6030 variable LDOs

The n_voltages initializer for the TWL6030_ADJUSTABLE_LDO macro is
off by one, causing the the highest supported voltage to be
unreachable. Setting the machine constraints to only allow the
highest voltage causes errors:

machine_constraints_voltage: VAUX3_6030: unsupportable voltage constraints
twl_reg twl_reg.39: can't register VAUX3_6030, -22
twl_reg: probe of twl_reg.39 failed with error -22

This patch fixes the off by one error. Tested by setting
VAUX3_6030 to 3.3V.

Signed-off-by: Colin Cross <[email protected]>
---
drivers/regulator/twl-regulator.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
index 6a29285..afd9c7e 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -520,7 +520,7 @@ static struct regulator_ops twl6030_fixed_resource = {
.desc = { \
.name = #label, \
.id = TWL6030_REG_##label, \
- .n_voltages = (max_mVolts - min_mVolts)/100, \
+ .n_voltages = (max_mVolts - min_mVolts)/100 + 1, \
.ops = &twl6030ldo_ops, \
.type = REGULATOR_VOLTAGE, \
.owner = THIS_MODULE, \
--
1.7.4.1


2011-05-28 17:56:21

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: twl-regulator: fix n_voltages for twl6030 variable LDOs

On Fri, May 27, 2011 at 12:25:27PM -0700, Colin Cross wrote:
> The n_voltages initializer for the TWL6030_ADJUSTABLE_LDO macro is
> off by one, causing the the highest supported voltage to be
> unreachable. Setting the machine constraints to only allow the
> highest voltage causes errors:

Acked-by: Mark Brown <[email protected]>

2011-05-30 12:51:14

by Liam Girdwood

[permalink] [raw]
Subject: Re: [PATCH] regulator: twl-regulator: fix n_voltages for twl6030 variable LDOs

On Fri, 2011-05-27 at 12:25 -0700, Colin Cross wrote:
> The n_voltages initializer for the TWL6030_ADJUSTABLE_LDO macro is
> off by one, causing the the highest supported voltage to be
> unreachable. Setting the machine constraints to only allow the
> highest voltage causes errors:
>
> machine_constraints_voltage: VAUX3_6030: unsupportable voltage constraints
> twl_reg twl_reg.39: can't register VAUX3_6030, -22
> twl_reg: probe of twl_reg.39 failed with error -22
>
> This patch fixes the off by one error. Tested by setting
> VAUX3_6030 to 3.3V.
>
> Signed-off-by: Colin Cross <[email protected]>
> ---
> drivers/regulator/twl-regulator.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
> index 6a29285..afd9c7e 100644
> --- a/drivers/regulator/twl-regulator.c
> +++ b/drivers/regulator/twl-regulator.c
> @@ -520,7 +520,7 @@ static struct regulator_ops twl6030_fixed_resource = {
> .desc = { \
> .name = #label, \
> .id = TWL6030_REG_##label, \
> - .n_voltages = (max_mVolts - min_mVolts)/100, \
> + .n_voltages = (max_mVolts - min_mVolts)/100 + 1, \
> .ops = &twl6030ldo_ops, \
> .type = REGULATOR_VOLTAGE, \
> .owner = THIS_MODULE, \

Applied.

Thanks

Liam