Re: [PATCH] hwmon: (adt7475) Make volt2reg return same reg as reg2volt input

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 06, 2019 at 11:54:30AM +1300, Luuk Paulussen wrote:
> reg2volt returns the voltage that matches a given register value.
> Converting this back the other way with volt2reg didn't return the same
> register value because it used truncation instead of rounding.
> 
> This meant that values read from sysfs could not be written back to sysfs
> to set back the same register value.
> 
> With this change, volt2reg will return the same value for every voltage
> previously returned by reg2volt (for the set of possible input values)
> 
> Signed-off-by: Luuk Paulussen <luuk.paulussen@xxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/hwmon/adt7475.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c
> index 6c64d50c9aae..5eed7dd2f16d 100644
> --- a/drivers/hwmon/adt7475.c
> +++ b/drivers/hwmon/adt7475.c
> @@ -294,9 +294,10 @@ static inline u16 volt2reg(int channel, long volt, u8 bypass_attn)
>  	long reg;
>  
>  	if (bypass_attn & (1 << channel))
> -		reg = (volt * 1024) / 2250;
> +		reg = DIV_ROUND_CLOSEST((volt * 1024), 2250);

Unnecessary ( )

>  	else
> -		reg = (volt * r[1] * 1024) / ((r[0] + r[1]) * 2250);
> +		reg = DIV_ROUND_CLOSEST((volt * r[1] * 1024),
> +					((r[0] + r[1]) * 2250));

More unnecessary ( )

Otherwise good catch.

Guenter

>  	return clamp_val(reg, 0, 1023) & (0xff << 2);
>  }
>  
> -- 
> 2.24.0
> 



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux