Re: [PATCH] regulator (max5970): Add hwmon support

From: Guenter Roeck
Date: Wed Aug 30 2023 - 16:29:03 EST


On 8/30/23 12:14, Naresh Solanki wrote:
Hi

[ ... ]
+ /*
+ * Calculate voltage from ADC value and MON range.
+ * ddata->mon_rng holds the voltage corresponding to the maximum value the
+ * 10-bit ADC can measure.
+ * To obtain the output, multiply the ADC value by the MON range (in
+ * microvolts) and then divide it by the maximum value of the 10-bit ADC.
+ */
+ *val = mul_u64_u32_shr(*val, ddata->mon_rng[channel], 10);

Why do you use mul_u64_u32_shr() here but a direct shift above ?
There is possibility of overflow due to large value of ddata->mon_rng

Does the right shift guarantee that the result fits into 32 bit ?

Thanks,
Guenter