diff --git a/drivers/power/supply/qcom/qpnp-smb5.c b/drivers/power/supply/qcom/qpnp-smb5.c index b8a0a13632f0..d67a4d24ec3f 100644 --- a/drivers/power/supply/qcom/qpnp-smb5.c +++ b/drivers/power/supply/qcom/qpnp-smb5.c @@ -2383,6 +2383,7 @@ static int smb5_batt_prop_is_writeable(struct power_supply *psy, case POWER_SUPPLY_PROP_STEP_CHARGING_ENABLED: case POWER_SUPPLY_PROP_DIE_HEALTH: case POWER_SUPPLY_PROP_BATTERY_CHARGING_ENABLED: + case POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT: return 1; default: break; @@ -3276,7 +3277,6 @@ static int smb5_init_connector_type(struct smb_charger *chg) */ if (chg->chg_param.smb_version == PMI632_SUBTYPE) { schgm_flash_init(chg); - smblib_rerun_apsd_if_required(chg); } return 0; diff --git a/drivers/power/supply/qcom/smb5-lib.c b/drivers/power/supply/qcom/smb5-lib.c index f84502bd46ca..3558e4b70acf 100644 --- a/drivers/power/supply/qcom/smb5-lib.c +++ b/drivers/power/supply/qcom/smb5-lib.c @@ -7439,6 +7439,9 @@ irqreturn_t dc_plugin_irq_handler(int irq, void *data) vote(chg->fcc_votable, FCC_STEPPER_VOTER, !dcin_present, dcin_present ? 0 : 1500000); + chg->mmi.dc_ebmax_current_ma = chg->mmi.dc_ebmax_current_ma_default; + chg->mmi.cl_ebsrc = chg->mmi.dc_ebmax_current_ma_default; + if (chg->dc_psy) power_supply_changed(chg->dc_psy); @@ -11063,7 +11066,6 @@ static ssize_t force_chg_usb_suspend_store(struct device *dev, } mmi_chip->mmi.force_chg_suspend = (bool)mode; r = smblib_set_usb_suspend(mmi_chip, (bool)mode); - return r ? r : count; }