On Tue, Nov 16, 2021 at 1:27 PM Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx> wrote: > The battery info functions computing the state-of-charge (SOC) based > on open-circuit-voltage (OCV) are returning SOC using units of 1%. > > Some capacity estimation computations require higher accuracy. Add > functions that return SOC using units of 0.1% to reduce rounding error. > > Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx> That sounds useful. > +int power_supply_ocv2dcap_simple(struct power_supply_battery_ocv_table *table, > + int table_len, int ocv) > +{ > + int i, cap, tmp; Why a whole new function? Just rename the original power_supply_ocv2cap_simple() to power_supply_ocv2dcap_simple and patch it to return the finegrained value, then add a wrapper that use that function but drops it down by one order of magnitude. > +int power_supply_batinfo_ocv2dcap(struct power_supply_battery_info *info, > + int ocv, int temp) Same with this, saves a lot of code! (Also will use my new interpolation routines since you refactor on top of that.) Yours, Linus Walleij