Re: [PATCH] power: supply: max17042_battery: fix some usage of uninitialized variables

From: kbuild test robot
Date: Wed Oct 02 2019 - 16:52:15 EST


Hi Yizhuo,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on power-supply/for-next]
[cannot apply to v5.4-rc1 next-20191002]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Yizhuo/power-supply-max17042_battery-fix-some-usage-of-uninitialized-variables/20191003-040948
base: https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git for-next
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=sh

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

drivers/power/supply/max17042_battery.c: In function 'max17042_load_new_capacity_params':
>> drivers/power/supply/max17042_battery.c:697:10: warning: 'return' with a value, in function returning void
return ret;
^~~
drivers/power/supply/max17042_battery.c:686:13: note: declared here
static void max17042_load_new_capacity_params(struct max17042_chip *chip)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/power/supply/max17042_battery.c:701:10: warning: 'return' with a value, in function returning void
return ret;
^~~
drivers/power/supply/max17042_battery.c:686:13: note: declared here
static void max17042_load_new_capacity_params(struct max17042_chip *chip)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/return +697 drivers/power/supply/max17042_battery.c

685
686 static void max17042_load_new_capacity_params(struct max17042_chip *chip)
687 {
688 u32 full_cap0, rep_cap, dq_acc, vfSoc;
689 u32 rem_cap;
690 int ret;
691
692 struct max17042_config_data *config = chip->pdata->config_data;
693 struct regmap *map = chip->regmap;
694
695 ret = regmap_read(map, MAX17042_FullCAP0, &full_cap0);
696 if (ret)
> 697 return ret;
698
699 ret = regmap_read(map, MAX17042_VFSOC, &vfSoc);
700 if (ret)
701 return ret;
702
703 /* fg_vfSoc needs to shifted by 8 bits to get the
704 * perc in 1% accuracy, to get the right rem_cap multiply
705 * full_cap0, fg_vfSoc and devide by 100
706 */
707 rem_cap = ((vfSoc >> 8) * full_cap0) / 100;
708 max17042_write_verify_reg(map, MAX17042_RemCap, rem_cap);
709
710 rep_cap = rem_cap;
711 max17042_write_verify_reg(map, MAX17042_RepCap, rep_cap);
712
713 /* Write dQ_acc to 200% of Capacity and dP_acc to 200% */
714 dq_acc = config->fullcap / dQ_ACC_DIV;
715 max17042_write_verify_reg(map, MAX17042_dQacc, dq_acc);
716 max17042_write_verify_reg(map, MAX17042_dPacc, dP_ACC_200);
717
718 max17042_write_verify_reg(map, MAX17042_FullCAP,
719 config->fullcap);
720 regmap_write(map, MAX17042_DesignCap,
721 config->design_cap);
722 max17042_write_verify_reg(map, MAX17042_FullCAPNom,
723 config->fullcapnom);
724 /* Update SOC register with new SOC */
725 regmap_write(map, MAX17042_RepSOC, vfSoc);
726 }
727

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip