Power Supply Fixes for 6.14 cycle
* core: Fix extension related lockdep warning for LED triggers * axp20x-battery: Fix fault handling for AXP717 * da9150-fg: fix potential overflow -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE72YNB0Y/i3JqeVQT2O7X88g7+poFAme32n4ACgkQ2O7X88g7 +pqrjA/9EcurRZzyG+8AivZ3zJipQytajgCnXT/1LoIsJ2GonmDZr/+7IG9zwwJa gbT4evIa0j3s2FEh2szUD5no0mO7RH1TciIX9ObnVXt/+u5kr89tqXkQAAVitUpS N6Wu7sfLt8vI4LfCujqt2DZVVkE8byw9sR/yOXU/adsQ5w7PzsvUvnqsg+svyXYN H9Wn360uwa0Je8gXYzEGSjU1Yqtir5PhGqyqgaz69+YbymImj4+TfhmfPxrkpk/y QveXExlXllMrg4saSeLZM3vDPrui/CeTKeVUxFDz6D9PqBZkYNI7+2RyzS2b8jeO k14KX+JLmxYSl+F6/FcKbWdZorChJC8VcwNKnS+e2BQkb1nO1PEtegFG6h5Ynswh nuVFG5XInvK+JEvPKjGNWM9YZTH109N6hXTN4Q6uk+Tqo5UYX5+QqC/5WRF7P7V3 XQX7LrP/g+GEo31/U12c1MmgALBGcmXCXp3VYVz1RdB78uoLDNfyEuXM/mbv4xHB 03gCciLcfZFde6jHkccOIbX5MRLEzJUnSWZCh24QdQcNtbv+ULy8A1bOfK2uN9Pj kRV3vHj6cu6LbsqCFzzlKI+olMnCdg0mHu4qZ6kgs2I5rVWVWjJYhx38qmqWOadm x6Ngv8MK/nex4zWqY0meRWgL63179rIIxX9L3VxK8U0S5ol+VqU= =ASAT -----END PGP SIGNATURE----- Merge tag 'for-v6.14-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply fixes from Sebastian Reichel: - core: Fix extension related lockdep warning for LED triggers - axp20x-battery: Fix fault handling for AXP717 - da9150-fg: fix potential overflow * tag 'for-v6.14-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: power: supply: axp20x_battery: Fix fault handling for AXP717 power: supply: core: Fix extension related lockdep warning power: supply: da9150-fg: fix potential overflow
This commit is contained in:
commit
3344260945
3 changed files with 21 additions and 22 deletions
|
@ -466,10 +466,9 @@ static int axp717_battery_get_prop(struct power_supply *psy,
|
|||
|
||||
/*
|
||||
* If a fault is detected it must also be cleared; if the
|
||||
* condition persists it should reappear (This is an
|
||||
* assumption, it's actually not documented). A restart was
|
||||
* not sufficient to clear the bit in testing despite the
|
||||
* register listed as POR.
|
||||
* condition persists it should reappear. A restart was not
|
||||
* sufficient to clear the bit in testing despite the register
|
||||
* listed as POR.
|
||||
*/
|
||||
case POWER_SUPPLY_PROP_HEALTH:
|
||||
ret = regmap_read(axp20x_batt->regmap, AXP717_PMU_FAULT,
|
||||
|
@ -480,26 +479,26 @@ static int axp717_battery_get_prop(struct power_supply *psy,
|
|||
switch (reg & AXP717_BATT_PMU_FAULT_MASK) {
|
||||
case AXP717_BATT_UVLO_2_5V:
|
||||
val->intval = POWER_SUPPLY_HEALTH_DEAD;
|
||||
regmap_update_bits(axp20x_batt->regmap,
|
||||
AXP717_PMU_FAULT,
|
||||
AXP717_BATT_UVLO_2_5V,
|
||||
AXP717_BATT_UVLO_2_5V);
|
||||
regmap_write_bits(axp20x_batt->regmap,
|
||||
AXP717_PMU_FAULT,
|
||||
AXP717_BATT_UVLO_2_5V,
|
||||
AXP717_BATT_UVLO_2_5V);
|
||||
return 0;
|
||||
|
||||
case AXP717_BATT_OVER_TEMP:
|
||||
val->intval = POWER_SUPPLY_HEALTH_HOT;
|
||||
regmap_update_bits(axp20x_batt->regmap,
|
||||
AXP717_PMU_FAULT,
|
||||
AXP717_BATT_OVER_TEMP,
|
||||
AXP717_BATT_OVER_TEMP);
|
||||
regmap_write_bits(axp20x_batt->regmap,
|
||||
AXP717_PMU_FAULT,
|
||||
AXP717_BATT_OVER_TEMP,
|
||||
AXP717_BATT_OVER_TEMP);
|
||||
return 0;
|
||||
|
||||
case AXP717_BATT_UNDER_TEMP:
|
||||
val->intval = POWER_SUPPLY_HEALTH_COLD;
|
||||
regmap_update_bits(axp20x_batt->regmap,
|
||||
AXP717_PMU_FAULT,
|
||||
AXP717_BATT_UNDER_TEMP,
|
||||
AXP717_BATT_UNDER_TEMP);
|
||||
regmap_write_bits(axp20x_batt->regmap,
|
||||
AXP717_PMU_FAULT,
|
||||
AXP717_BATT_UNDER_TEMP,
|
||||
AXP717_BATT_UNDER_TEMP);
|
||||
return 0;
|
||||
|
||||
default:
|
||||
|
|
|
@ -247,9 +247,9 @@ static int da9150_fg_current_avg(struct da9150_fg *fg,
|
|||
DA9150_QIF_SD_GAIN_SIZE);
|
||||
da9150_fg_read_sync_end(fg);
|
||||
|
||||
div = (u64) (sd_gain * shunt_val * 65536ULL);
|
||||
div = 65536ULL * sd_gain * shunt_val;
|
||||
do_div(div, 1000000);
|
||||
res = (u64) (iavg * 1000000ULL);
|
||||
res = 1000000ULL * iavg;
|
||||
do_div(res, div);
|
||||
|
||||
val->intval = (int) res;
|
||||
|
|
|
@ -1592,11 +1592,11 @@ __power_supply_register(struct device *parent,
|
|||
if (rc)
|
||||
goto register_thermal_failed;
|
||||
|
||||
scoped_guard(rwsem_read, &psy->extensions_sem) {
|
||||
rc = power_supply_create_triggers(psy);
|
||||
if (rc)
|
||||
goto create_triggers_failed;
|
||||
rc = power_supply_create_triggers(psy);
|
||||
if (rc)
|
||||
goto create_triggers_failed;
|
||||
|
||||
scoped_guard(rwsem_read, &psy->extensions_sem) {
|
||||
rc = power_supply_add_hwmon_sysfs(psy);
|
||||
if (rc)
|
||||
goto add_hwmon_sysfs_failed;
|
||||
|
|
Loading…
Add table
Reference in a new issue