[PATCH v3 2/6] regulator: bd718x7: Fix voltages scaled by resistor divider

Maud Spierings via B4 Relay posted 6 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH v3 2/6] regulator: bd718x7: Fix voltages scaled by resistor divider
Posted by Maud Spierings via B4 Relay 1 month, 2 weeks ago
From: Maud Spierings <maudspierings@gocontroll.com>

The .min_sel and .max_sel fields remained uninitialized in the new
linear_range, causing an error further down the line. Copy the old
values of these fields to the new one as they represent the range of
register values, which does not change.

Fixes: d2ad981151b3a ("regulator: bd718x7: Support external connection to scale voltages")
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
---
 drivers/regulator/bd718x7-regulator.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/regulator/bd718x7-regulator.c b/drivers/regulator/bd718x7-regulator.c
index 022d98f3c32a2..ea9c4058ee6a5 100644
--- a/drivers/regulator/bd718x7-regulator.c
+++ b/drivers/regulator/bd718x7-regulator.c
@@ -1613,6 +1613,8 @@ static int setup_feedback_loop(struct device *dev, struct device_node *np,
 				step /= r1;
 
 				new[j].min = min;
+				new[j].min_sel = desc->linear_ranges[j].min_sel;
+				new[j].max_sel = desc->linear_ranges[j].max_sel;
 				new[j].step = step;
 
 				dev_dbg(dev, "%s: old range min %d, step %d\n",

-- 
2.51.2
Re: [PATCH v3 2/6] regulator: bd718x7: Fix voltages scaled by resistor divider
Posted by Matti Vaittinen 1 month, 2 weeks ago
On 30/10/2025 08:35, Maud Spierings via B4 Relay wrote:
> From: Maud Spierings <maudspierings@gocontroll.com>
> 
> The .min_sel and .max_sel fields remained uninitialized in the new
> linear_range, causing an error further down the line. Copy the old
> values of these fields to the new one as they represent the range of
> register values, which does not change.
> 
> Fixes: d2ad981151b3a ("regulator: bd718x7: Support external connection to scale voltages")
> Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
> ---
>   drivers/regulator/bd718x7-regulator.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/regulator/bd718x7-regulator.c b/drivers/regulator/bd718x7-regulator.c
> index 022d98f3c32a2..ea9c4058ee6a5 100644
> --- a/drivers/regulator/bd718x7-regulator.c
> +++ b/drivers/regulator/bd718x7-regulator.c
> @@ -1613,6 +1613,8 @@ static int setup_feedback_loop(struct device *dev, struct device_node *np,
>   				step /= r1;
>   
>   				new[j].min = min;
> +				new[j].min_sel = desc->linear_ranges[j].min_sel;
> +				new[j].max_sel = desc->linear_ranges[j].max_sel;
>   				new[j].step = step;
>   
>   				dev_dbg(dev, "%s: old range min %d, step %d\n",
> 

Thanks a ton for fixing this! Very much appreciated :)

Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>

-- 
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~