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: > +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? > +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? Overall this is a very fine driver and really pretty compared to some other stuff we have in drivers/power. Yours, Linus Walleij