[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202512161012.YCn72zq9-lkp@intel.com>
Date: Tue, 16 Dec 2025 16:43:13 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev, Andreas Kemnade <andreas@...nade.info>
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Sebastian Reichel <sebastian.reichel@...labora.com>,
Matti Vaittinen <matti.vaittinen@...rohmeurope.com>,
Matti Vaittinen <mazziesaccount@...il.com>
Subject: drivers/power/supply/bd71828-power.c:469
bd71828_battery_get_property() error: uninitialized symbol 'tmp'.
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@...el.com>
| Reported-by: Dan Carpenter <dan.carpenter@...aro.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
Powered by blists - more mailing lists