Re: [lm-sensors] [PATCH V1] fix adc to voltage calculation inda9052 power driver

From: Jean Delvare
Date: Wed Dec 18 2013 - 10:32:56 EST


On Wed, 18 Dec 2013 15:21:13 +0000, Anthony Olech wrote:
> The ADC resolution of the PMIC is 10-bits, this means that the maximum
> possible value is 1023 and not the 1024 as in the code.

The conversion from register value to mV depends on the ADC's LSB, not
its range. So the maximum value which can be represented is irrelevant.

>
> Signed-off-by: Anthony Olech <anthony.olech.opensource@xxxxxxxxxxx>
> ---
> This patch is relative to linux-next repository tag next-20131218
>
> drivers/power/da9052-battery.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/power/da9052-battery.c b/drivers/power/da9052-battery.c
> index f8f4c0f..8f0f259 100644
> --- a/drivers/power/da9052-battery.c
> +++ b/drivers/power/da9052-battery.c
> @@ -178,7 +178,7 @@ struct da9052_battery {
>
> static inline int volt_reg_to_mV(int value)
> {
> - return ((value * 1000) / 512) + 2500;
> + return DIV_ROUND_CLOSEST(value * 2000, 1023) + 2500;
> }
>
> static inline int ichg_reg_to_mA(int value)


--
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/