Loading drivers/power/supply/qcom/qpnp-qg.c +21 −5 Original line number Diff line number Diff line Loading @@ -1064,10 +1064,6 @@ static void process_udata_work(struct work_struct *work) pr_err("Failed to update SDAM params, rc=%d\n", rc); } if (chip->udata.param[QG_CHARGE_COUNTER].valid) chip->charge_counter_uah = chip->udata.param[QG_CHARGE_COUNTER].data; if (chip->udata.param[QG_ESR].valid) chip->esr_last = chip->udata.param[QG_ESR].data; Loading Loading @@ -1548,6 +1544,26 @@ static int qg_get_battery_capacity(struct qpnp_qg *chip, int *soc) return 0; } static int qg_get_charge_counter(struct qpnp_qg *chip, int *charge_counter) { int rc, cc_soc = 0; int64_t temp = 0; rc = qg_get_learned_capacity(chip, &temp); if (rc < 0 || !temp) rc = qg_get_nominal_capacity((int *)&temp, 250, true); if (rc < 0) { pr_err("Failed to get FCC for charge-counter rc=%d\n", rc); return rc; } cc_soc = CAP(0, 100, DIV_ROUND_CLOSEST(chip->cc_soc, 100)); *charge_counter = div_s64(temp * cc_soc, 100); return 0; } static int qg_get_ttf_param(void *data, enum ttf_param param, int *val) { union power_supply_propval prop = {0, }; Loading Loading @@ -1829,7 +1845,7 @@ static int qg_psy_get_property(struct power_supply *psy, pval->intval = chip->bp.qg_profile_version; break; case POWER_SUPPLY_PROP_CHARGE_COUNTER: pval->intval = chip->charge_counter_uah; rc = qg_get_charge_counter(chip, &pval->intval); break; case POWER_SUPPLY_PROP_CHARGE_FULL: if (!chip->dt.cl_disable && chip->dt.cl_feedback_on) Loading Loading
drivers/power/supply/qcom/qpnp-qg.c +21 −5 Original line number Diff line number Diff line Loading @@ -1064,10 +1064,6 @@ static void process_udata_work(struct work_struct *work) pr_err("Failed to update SDAM params, rc=%d\n", rc); } if (chip->udata.param[QG_CHARGE_COUNTER].valid) chip->charge_counter_uah = chip->udata.param[QG_CHARGE_COUNTER].data; if (chip->udata.param[QG_ESR].valid) chip->esr_last = chip->udata.param[QG_ESR].data; Loading Loading @@ -1548,6 +1544,26 @@ static int qg_get_battery_capacity(struct qpnp_qg *chip, int *soc) return 0; } static int qg_get_charge_counter(struct qpnp_qg *chip, int *charge_counter) { int rc, cc_soc = 0; int64_t temp = 0; rc = qg_get_learned_capacity(chip, &temp); if (rc < 0 || !temp) rc = qg_get_nominal_capacity((int *)&temp, 250, true); if (rc < 0) { pr_err("Failed to get FCC for charge-counter rc=%d\n", rc); return rc; } cc_soc = CAP(0, 100, DIV_ROUND_CLOSEST(chip->cc_soc, 100)); *charge_counter = div_s64(temp * cc_soc, 100); return 0; } static int qg_get_ttf_param(void *data, enum ttf_param param, int *val) { union power_supply_propval prop = {0, }; Loading Loading @@ -1829,7 +1845,7 @@ static int qg_psy_get_property(struct power_supply *psy, pval->intval = chip->bp.qg_profile_version; break; case POWER_SUPPLY_PROP_CHARGE_COUNTER: pval->intval = chip->charge_counter_uah; rc = qg_get_charge_counter(chip, &pval->intval); break; case POWER_SUPPLY_PROP_CHARGE_FULL: if (!chip->dt.cl_disable && chip->dt.cl_feedback_on) Loading