mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* drivers/power/supply/bd71828-power.c:469 bd71828_battery_get_property() error: uninitialized symbol 'tmp'.
@ 2025-12-16 13:43 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2025-12-16 13:43 UTC (permalink / raw)
  To: oe-kbuild, Andreas Kemnade
  Cc: lkp, oe-kbuild-all, linux-kernel, Sebastian Reichel,
	Matti Vaittinen, Matti Vaittinen

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8f0b4cce4481fb22653697cced8d0d04027cb1e8
commit: 5bff79dad20a51fed3ff6d78f6b60321cd145a99 power: supply: Add bd718(15/28/78) charger driver
config: openrisc-randconfig-r071-20251214 (https://download.01.org/0day-ci/archive/20251216/202512161012.YCn72zq9-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 15.1.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202512161012.YCn72zq9-lkp@intel.com/

smatch warnings:
drivers/power/supply/bd71828-power.c:469 bd71828_battery_get_property() error: uninitialized symbol 'tmp'.

vim +/tmp +469 drivers/power/supply/bd71828-power.c

5bff79dad20a51 Andreas Kemnade 2025-09-18  437  static int bd71828_battery_get_property(struct power_supply *psy,
5bff79dad20a51 Andreas Kemnade 2025-09-18  438  					enum power_supply_property psp,
5bff79dad20a51 Andreas Kemnade 2025-09-18  439  					union power_supply_propval *val)
5bff79dad20a51 Andreas Kemnade 2025-09-18  440  {
5bff79dad20a51 Andreas Kemnade 2025-09-18  441  	struct bd71828_power *pwr = dev_get_drvdata(psy->dev.parent);
5bff79dad20a51 Andreas Kemnade 2025-09-18  442  	int ret = 0;
5bff79dad20a51 Andreas Kemnade 2025-09-18  443  	int status, health, tmp, curr, curr_avg, chg_en;
5bff79dad20a51 Andreas Kemnade 2025-09-18  444  
5bff79dad20a51 Andreas Kemnade 2025-09-18  445  	if (psp == POWER_SUPPLY_PROP_STATUS ||
5bff79dad20a51 Andreas Kemnade 2025-09-18  446  	    psp == POWER_SUPPLY_PROP_HEALTH ||
5bff79dad20a51 Andreas Kemnade 2025-09-18  447  	    psp == POWER_SUPPLY_PROP_CHARGE_TYPE)
5bff79dad20a51 Andreas Kemnade 2025-09-18  448  		ret = bd71828_charge_status(pwr, &status, &health);
5bff79dad20a51 Andreas Kemnade 2025-09-18  449  	else if (psp == POWER_SUPPLY_PROP_CURRENT_AVG ||
5bff79dad20a51 Andreas Kemnade 2025-09-18  450  		 psp == POWER_SUPPLY_PROP_CURRENT_NOW)
5bff79dad20a51 Andreas Kemnade 2025-09-18  451  		ret = bd71828_get_current_ds_adc(pwr, &curr, &curr_avg);
5bff79dad20a51 Andreas Kemnade 2025-09-18  452  	if (ret)
5bff79dad20a51 Andreas Kemnade 2025-09-18  453  		return ret;
5bff79dad20a51 Andreas Kemnade 2025-09-18  454  
5bff79dad20a51 Andreas Kemnade 2025-09-18  455  	switch (psp) {
5bff79dad20a51 Andreas Kemnade 2025-09-18  456  	case POWER_SUPPLY_PROP_STATUS:
5bff79dad20a51 Andreas Kemnade 2025-09-18  457  		val->intval = status;
5bff79dad20a51 Andreas Kemnade 2025-09-18  458  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  459  	case POWER_SUPPLY_PROP_HEALTH:
5bff79dad20a51 Andreas Kemnade 2025-09-18  460  		val->intval = health;
5bff79dad20a51 Andreas Kemnade 2025-09-18  461  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  462  	case POWER_SUPPLY_PROP_PRESENT:
5bff79dad20a51 Andreas Kemnade 2025-09-18  463  		ret = get_bat_online(pwr, &tmp);
5bff79dad20a51 Andreas Kemnade 2025-09-18  464  		if (!ret)
5bff79dad20a51 Andreas Kemnade 2025-09-18  465  			val->intval = tmp;
5bff79dad20a51 Andreas Kemnade 2025-09-18  466  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  467  	case POWER_SUPPLY_PROP_VOLTAGE_NOW:
5bff79dad20a51 Andreas Kemnade 2025-09-18  468  		ret = bd71828_get_vbat(pwr, &tmp);
5bff79dad20a51 Andreas Kemnade 2025-09-18 @469  		val->intval = tmp;

Smatch complains that we don't check until ret after we assign the
uninitialized variable.

5bff79dad20a51 Andreas Kemnade 2025-09-18  470  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  471  	case POWER_SUPPLY_PROP_TECHNOLOGY:
5bff79dad20a51 Andreas Kemnade 2025-09-18  472  		val->intval = POWER_SUPPLY_TECHNOLOGY_LION;
5bff79dad20a51 Andreas Kemnade 2025-09-18  473  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  474  	case POWER_SUPPLY_PROP_CURRENT_AVG:
5bff79dad20a51 Andreas Kemnade 2025-09-18  475  		val->intval = curr_avg;
5bff79dad20a51 Andreas Kemnade 2025-09-18  476  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  477  	case POWER_SUPPLY_PROP_CURRENT_NOW:
5bff79dad20a51 Andreas Kemnade 2025-09-18  478  		val->intval = curr;
5bff79dad20a51 Andreas Kemnade 2025-09-18  479  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  480  	case POWER_SUPPLY_PROP_CURRENT_MAX:
5bff79dad20a51 Andreas Kemnade 2025-09-18  481  		val->intval = MAX_CURRENT_DEFAULT;
5bff79dad20a51 Andreas Kemnade 2025-09-18  482  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  483  	case POWER_SUPPLY_PROP_TEMP:
5bff79dad20a51 Andreas Kemnade 2025-09-18  484  		ret = pwr->get_temp(pwr, &val->intval);
5bff79dad20a51 Andreas Kemnade 2025-09-18  485  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  486  	case POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR:
5bff79dad20a51 Andreas Kemnade 2025-09-18  487  		ret = regmap_read(pwr->regmap, pwr->regs->chg_en, &chg_en);
5bff79dad20a51 Andreas Kemnade 2025-09-18  488  		if (ret)
5bff79dad20a51 Andreas Kemnade 2025-09-18  489  			return ret;
5bff79dad20a51 Andreas Kemnade 2025-09-18  490  
5bff79dad20a51 Andreas Kemnade 2025-09-18  491  		val->intval = (chg_en & BD7182x_MASK_CHG_EN) ?
5bff79dad20a51 Andreas Kemnade 2025-09-18  492  			POWER_SUPPLY_CHARGE_BEHAVIOUR_AUTO :
5bff79dad20a51 Andreas Kemnade 2025-09-18  493  			POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE;
5bff79dad20a51 Andreas Kemnade 2025-09-18  494  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  495  	default:
5bff79dad20a51 Andreas Kemnade 2025-09-18  496  		ret = -EINVAL;
5bff79dad20a51 Andreas Kemnade 2025-09-18  497  		break;
5bff79dad20a51 Andreas Kemnade 2025-09-18  498  	}
5bff79dad20a51 Andreas Kemnade 2025-09-18  499  
5bff79dad20a51 Andreas Kemnade 2025-09-18  500  	return ret;
5bff79dad20a51 Andreas Kemnade 2025-09-18  501  }

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-12-16 13:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-16 13:43 drivers/power/supply/bd71828-power.c:469 bd71828_battery_get_property() error: uninitialized symbol 'tmp' Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®