diff options
| author | dragonGR <alex@dragongr.dev> | 2022-07-13 23:46:14 +0300 |
|---|---|---|
| committer | dragonGR <alex@dragongr.dev> | 2022-07-15 14:50:42 +0300 |
| commit | c6e830326b97b047d979ebac96d715dbc37e18e8 (patch) | |
| tree | a8103cff76592ee835075d9cd5aaed6a0774c45a | |
| parent | c94f99f4f6aff7616fd23ae66fcd508995e86eba (diff) | |
This reverts commit e481bc9f69717722ffef67b2a9cdcd0fbf409098.
Change-Id: If95285ccc865edf60c74276ce8a6799f9365d96b
| -rw-r--r-- | drivers/power/supply/power_supply_sysfs.c | 1 | ||||
| -rwxr-xr-x | drivers/power/supply/qcom/bq27541_fuelgauger.c | 30 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/qpnp-smb2.c | 13 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/smb-lib.c | 51 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/smb-lib.h | 4 | ||||
| -rw-r--r-- | include/linux/power_supply.h | 1 |
6 files changed, 49 insertions, 51 deletions
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c index feafbe297951..686d102b14c8 100644 --- a/drivers/power/supply/power_supply_sysfs.c +++ b/drivers/power/supply/power_supply_sysfs.c @@ -374,7 +374,6 @@ static struct device_attribute power_supply_attrs[] = { POWER_SUPPLY_ATTR(esr_nominal), POWER_SUPPLY_ATTR(soh), POWER_SUPPLY_ATTR(qc_opti_disable), - POWER_SUPPLY_ATTR(force_recharge), POWER_SUPPLY_ATTR(fcc_stepper_enable), POWER_SUPPLY_ATTR(cc_soc), POWER_SUPPLY_ATTR(qg_vbms_mode), diff --git a/drivers/power/supply/qcom/bq27541_fuelgauger.c b/drivers/power/supply/qcom/bq27541_fuelgauger.c index d0456d78f130..8fa7f3e1be21 100755 --- a/drivers/power/supply/qcom/bq27541_fuelgauger.c +++ b/drivers/power/supply/qcom/bq27541_fuelgauger.c @@ -231,10 +231,8 @@ struct bq27541_device_info { int retry_count; /* Add for get right soc when sleep long time */ int soc_pre; - int batt_vol_pre; + int batt_vol_pre; int current_pre; - int cap_pre; - int remain_pre; int health_pre; int get_over_temp; unsigned long rtc_resume_time; @@ -268,10 +266,6 @@ struct bq27541_device_info { /*add by yangrujin@bsp 2016/3/16, reduce bq resume time*/ #include <linux/workqueue.h> -/* add to update fg node value on panel event */ -int panel_flag1; -int panel_flag2; - struct update_pre_capacity_data { struct delayed_work work; struct workqueue_struct *workqueue; @@ -902,11 +896,7 @@ static int bq27541_remaining_capacity(struct bq27541_device_info *di) int ret; int cap = 0; - /* Add for get right soc when sleep long time */ - if (atomic_read(&di->suspended) == 1) - return di->remain_pre; - - if (di->allow_reading || panel_flag1) { + if (di->allow_reading) { #ifdef CONFIG_GAUGE_BQ27411 /* david.liu@bsp, 20161004 Add BQ27411 support */ ret = bq27541_read(di->cmd_addr.reg_rm, @@ -918,13 +908,8 @@ static int bq27541_remaining_capacity(struct bq27541_device_info *di) pr_err("error reading capacity.\n"); return ret; } - if (panel_flag1) - panel_flag1 = 0; - } else { - return di->remain_pre; } - di->remain_pre = cap; return cap; } @@ -933,11 +918,7 @@ static int bq27541_full_chg_capacity(struct bq27541_device_info *di) int ret; int cap = 0; - /* Add for get right soc when sleep long time */ - if (atomic_read(&di->suspended) == 1) - return di->cap_pre; - - if (di->allow_reading || panel_flag2) { + if (di->allow_reading) { #ifdef CONFIG_GAUGE_BQ27411 /* david.liu@bsp, 20161004 Add BQ27411 support */ ret = bq27541_read(BQ27411_REG_FCC, @@ -949,13 +930,8 @@ static int bq27541_full_chg_capacity(struct bq27541_device_info *di) pr_err("error reading full chg capacity.\n"); return ret; } - if (panel_flag2) - panel_flag2 = 0; - } else { - return di->cap_pre; } - di->cap_pre = cap; return cap; } diff --git a/drivers/power/supply/qcom/qpnp-smb2.c b/drivers/power/supply/qcom/qpnp-smb2.c index 962d805fa69e..37077a52ed06 100644 --- a/drivers/power/supply/qcom/qpnp-smb2.c +++ b/drivers/power/supply/qcom/qpnp-smb2.c @@ -1262,7 +1262,6 @@ static enum power_supply_property smb2_batt_props[] = { POWER_SUPPLY_PROP_CHARGE_FULL, POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, POWER_SUPPLY_PROP_TIME_TO_FULL_NOW, - POWER_SUPPLY_PROP_FORCE_RECHARGE, POWER_SUPPLY_PROP_FCC_STEPPER_ENABLE, POWER_SUPPLY_PROP_OP_DISABLE_CHARGE, }; @@ -1417,9 +1416,6 @@ static int smb2_batt_get_prop(struct power_supply *psy, case POWER_SUPPLY_PROP_CURRENT_NOW: rc = smblib_get_prop_from_bms(chg, psp, val); break; - case POWER_SUPPLY_PROP_FORCE_RECHARGE: - val->intval = 0; - break; case POWER_SUPPLY_PROP_FCC_STEPPER_ENABLE: val->intval = chg->fcc_stepper_enable; break; @@ -1581,15 +1577,6 @@ static int smb2_batt_set_prop(struct power_supply *psy, chg->die_health = val->intval; power_supply_changed(chg->batt_psy); break; - case POWER_SUPPLY_PROP_FORCE_RECHARGE: - /* toggle charging to force recharge */ - vote(chg->chg_disable_votable, FORCE_RECHARGE_VOTER, - true, 0); - /* charge disable delay */ - msleep(50); - vote(chg->chg_disable_votable, FORCE_RECHARGE_VOTER, - false, 0); - break; default: rc = -EINVAL; } diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c index cfe810009fb7..b0bdcd9bfd02 100644 --- a/drivers/power/supply/qcom/smb-lib.c +++ b/drivers/power/supply/qcom/smb-lib.c @@ -2190,6 +2190,51 @@ int smblib_get_prop_input_current_limited(struct smb_charger *chg, return 0; } +int smblib_get_prop_batt_voltage_now(struct smb_charger *chg, + union power_supply_propval *val) +{ + int rc; + + if (!chg->bms_psy) + return -EINVAL; + + rc = power_supply_get_property(chg->bms_psy, + POWER_SUPPLY_PROP_VOLTAGE_NOW, val); + return rc; +} + +int smblib_get_prop_batt_current_now(struct smb_charger *chg, + union power_supply_propval *val) +{ + int rc; + + if (!chg->bms_psy) + return -EINVAL; + + rc = power_supply_get_property(chg->bms_psy, + POWER_SUPPLY_PROP_CURRENT_NOW, val); + return rc; +} + +int smblib_get_prop_batt_temp(struct smb_charger *chg, + union power_supply_propval *val) +{ + int rc; + + if (!chg->bms_psy) + return -EINVAL; + +/* david.liu@bsp, 20171122 Fix fake battery temperature */ + if (chg->use_fake_temp) { + val->intval = chg->fake_temp; + return 0; + } + + rc = power_supply_get_property(chg->bms_psy, + POWER_SUPPLY_PROP_TEMP, val); + return rc; +} + int smblib_get_prop_batt_charge_done(struct smb_charger *chg, union power_supply_propval *val) { @@ -6411,8 +6456,7 @@ static void op_temp_region_charging_en(struct smb_charger *chg, int vbatmax) int vbat_mv = 0; union power_supply_propval pval; - smblib_get_prop_from_bms(chg, - POWER_SUPPLY_PROP_VOLTAGE_NOW, &pval); + smblib_get_prop_batt_voltage_now(chg, &pval); vbat_mv = pval.intval/1000; pr_info("%s vbat_mv =%d\n",__func__, vbat_mv); if (vbat_mv < vbatmax) @@ -6995,9 +7039,6 @@ static int msm_drm_notifier_callback(struct notifier_block *self, POWER_SUPPLY_PROP_UPDATE_LCD_IS_OFF, 1); chip->oem_lcd_is_on = false; } - /* add to update fg node value on panel event */ - panel_flag1 = 1; - panel_flag2 = 1; } return 0; diff --git a/drivers/power/supply/qcom/smb-lib.h b/drivers/power/supply/qcom/smb-lib.h index 2829049ba1bb..8b4fd41ff345 100644 --- a/drivers/power/supply/qcom/smb-lib.h +++ b/drivers/power/supply/qcom/smb-lib.h @@ -96,7 +96,6 @@ enum print_reason { #define FG_ESR_VOTER "FG_ESR_VOTER" #define FCC_STEPPER_VOTER "FCC_STEPPER_VOTER" #define PD_NOT_SUPPORTED_VOTER "PD_NOT_SUPPORTED_VOTER" -#define FORCE_RECHARGE_VOTER "FORCE_RECHARGE_VOTER" #define VCONN_MAX_ATTEMPTS 3 #define OTG_MAX_ATTEMPTS 3 @@ -634,9 +633,6 @@ bool op_get_fastchg_ing(struct smb_charger *chg); bool get_prop_fastchg_status(struct smb_charger *chg); int op_usb_icl_set(struct smb_charger *chg, int icl_ua); int op_get_aicl_result(struct smb_charger *chg); -/* add to update fg node value on panel event */ -extern int panel_flag1; -extern int panel_flag2; int plugin_update(struct smb_charger *chg); void op_disconnect_vbus(struct smb_charger *chg, bool enable); int smblib_set_prop_input_current_limited(struct smb_charger *chg, diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index 722a90076fd9..632d2912a6ac 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h @@ -326,7 +326,6 @@ enum power_supply_property { POWER_SUPPLY_PROP_ESR_NOMINAL, POWER_SUPPLY_PROP_SOH, POWER_SUPPLY_PROP_QC_OPTI_DISABLE, - POWER_SUPPLY_PROP_FORCE_RECHARGE, POWER_SUPPLY_PROP_FCC_STEPPER_ENABLE, POWER_SUPPLY_PROP_CC_SOC, POWER_SUPPLY_PROP_QG_VBMS_MODE, |
