mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
change not disable flip charge if enable by chg_en node
enable flip charge by echo 1 > chg_en, but chrg_stat flag need 200ms to update in delay work. if a delay work is already runnning when enable flip charge, it may disable flip charge immediatly cause factory test flip charge current read err Change-Id: Ib6fd330fb9f9bbd60157f6b16ec032f436056c33 Signed-off-by: xuxj12 <xuxj12@motorola.com> Reviewed-on: https://gerrit.mot.com/2399491 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Reviewed-by: Yonghua Yan <yanyh2@motorola.com> Reviewed-by: Jianqi Yang <yangj@motorola.com> Tested-by: Jira Key Submit-Approved: Jira Key
This commit is contained in:
parent
fbcc521698
commit
3489d559a2
1 changed files with 8 additions and 3 deletions
|
|
@ -2230,6 +2230,7 @@ static int sgm4154x_charger_config_charge(void *data, struct mmi_charger_cfg *co
|
|||
int rc;
|
||||
u32 value;
|
||||
bool chg_en;
|
||||
static bool prev_chg_en = false;
|
||||
bool cfg_changed = false;
|
||||
struct sgm_mmi_charger *chg = data;
|
||||
struct sgm4154x_state state = chg->sgm->state;
|
||||
|
|
@ -2439,7 +2440,7 @@ static int sgm4154x_charger_config_charge(void *data, struct mmi_charger_cfg *co
|
|||
chg_en = sgm4154x_is_enabled_charging(chg->sgm);
|
||||
if (!cfg_changed &&
|
||||
chg->chg_info.chrg_present && !state.hiz_en &&
|
||||
chg_en && chg->sgm->ichg > 0 &&
|
||||
chg_en && prev_chg_en && chg->sgm->ichg > 0 &&
|
||||
((chg->batt_info.batt_mv + 50) * 1000) <= chg->sgm->vreg &&
|
||||
state.chrg_stat != SGM4154x_FAST_CHRG &&
|
||||
state.chrg_stat != SGM4154x_PRECHRG) {
|
||||
|
|
@ -2449,6 +2450,7 @@ static int sgm4154x_charger_config_charge(void *data, struct mmi_charger_cfg *co
|
|||
chg->chg_cfg.charging_disable = true;
|
||||
pr_info("Battery charging reconfigure triggered\n");
|
||||
}
|
||||
prev_chg_en = chg_en;
|
||||
|
||||
if (chg->chg_info.chrg_present && !state.hiz_en &&
|
||||
chg->sgm->use_ext_usb_psy && chg->sgm->usb) {
|
||||
|
|
@ -2619,11 +2621,14 @@ static void sgm4154x_paired_battery_notify(void *data,
|
|||
if (!rc && !val.intval)
|
||||
batt_present = false;
|
||||
}
|
||||
chg->sgm->batt_present = batt_present;
|
||||
if (!chg->sgm->batt_present) {
|
||||
if (!batt_present) {
|
||||
chg->paired_ichg = 0;
|
||||
chg->paired_load = PAIRED_LOAD_OFF;
|
||||
return;
|
||||
} else if (!chg->sgm->batt_present) {
|
||||
chg->paired_ichg = chg->sgm->init_data.max_ichg;
|
||||
chg->sgm->batt_present = batt_present;
|
||||
pr_info("Battery present!\n");
|
||||
}
|
||||
|
||||
batt_ocv = chg->batt_info.batt_mv;
|
||||
|
|
|
|||
Loading…
Reference in a new issue