On 31 October 2018 at 16:56, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > On Mon, Oct 22, 2018 at 9:44 AM Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: > >> This patch adds the Spreadtrum SC27XX serial PMICs fuel gauge support, >> which is used to calculate the battery capacity. >> >> Original-by: Yuanjiang Yu <yuanjiang.yu@xxxxxxxxxx> >> Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxx> >> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> >> --- >> Changes from v5: >> - Save the OCV values in micro volts for OCV capacity table. >> - Use devm_kmemdup() instead of devm_kzalloc() in sc27xx_fgu_hw_init() > > Hi Baolin, you can keep my ACK, just adding some nitpicking: Thanks. > >> +struct sc27xx_fgu_data { >> + struct regmap *regmap; >> + struct device *dev; >> + struct power_supply *battery; >> + u32 base; >> + struct mutex lock; >> + struct gpio_desc *gpiod; >> + struct iio_channel *channel; >> + bool bat_present; >> + int internal_resist; >> + int total_cap; >> + int init_cap; >> + int init_clbcnt; >> + int max_volt; >> + int table_len; > > Can the above really be negative or should these int:s really > be unsigned int? I think the table_len can be changed to u32, but for others, I'd like to keep consistency with the power supply battery information。 > >> +static int sc27xx_fgu_adc_to_current(int adc) >> +{ >> + return (adc * 1000) / SC27XX_FGU_1000MA_ADC; >> +} >> + >> +static int sc27xx_fgu_adc_to_voltage(int adc) >> +{ >> + return (adc * 1000) / SC27XX_FGU_1000MV_ADC; >> +} > > Would you maybe use > DIV_ROUND_CLOSEST(adc*1000, SC27XX_FGU_1000MV_ADC) > on these? Good point. Will change in next version. Thanks for your comments. > > Overall this is a very fine driver and really pretty compared to some > other stuff we have in drivers/power. Thanks. -- Baolin Wang Best Regards