From d2ae0fee1f908d32b87c31f59713544b8e7aeaa4 Mon Sep 17 00:00:00 2001 From: huangzq2 Date: Wed, 23 Jan 2019 08:42:13 +0800 Subject: [PATCH] Disable charGing via sysfs Change-Id: I343895372db2576fb71534309c7d875538d1e24e Signed-off-by: huangzq2 Reviewed-on: https://gerrit.mot.com/1298890 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Wei Xu Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- drivers/power/supply/s2mu00x_battery.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/power/supply/s2mu00x_battery.c b/drivers/power/supply/s2mu00x_battery.c index 75721d2a6f15..73a3c2d5bb21 100644 --- a/drivers/power/supply/s2mu00x_battery.c +++ b/drivers/power/supply/s2mu00x_battery.c @@ -475,6 +475,7 @@ struct s2mu00x_battery_info { int temp_allowed_fastchg_current_ma; bool enable_factory_wa; int max_chrg_temp; + bool charging_disabled; }; static int is_charging_mode = S2MU00X_NOR_MODE; @@ -828,6 +829,11 @@ static void set_bat_status_by_cable(struct s2mu00x_battery_info *battery) return; } + if (battery->charging_disabled) { + pr_info("%s: charging disabled. Skip!\n", __func__); + return; + } + #if defined(CONFIG_CHARGER_S2MU106) if (battery->cable_type == POWER_SUPPLY_TYPE_BATTERY || battery->cable_type == POWER_SUPPLY_TYPE_UNKNOWN || @@ -1028,6 +1034,8 @@ static int s2mu00x_battery_set_property(struct power_supply *psy, smbchg_chg_system_temp_level_set(battery, val->intval); break; case POWER_SUPPLY_PROP_CHARGING_ENABLED: + pr_info("%s: POWER_SUPPLY_PROP_CHARGING_ENABLED, val->intval = %d.\n", __func__, val->intval); + battery->charging_disabled = !val->intval; smbchg_usb_en(battery, val->intval); break; case POWER_SUPPLY_PROP_CAPACITY: @@ -4251,6 +4259,7 @@ static int s2mu00x_battery_probe(struct platform_device *pdev) battery->max_rawsoc = battery->pdata->max_rawsoc; + battery->charging_disabled = false; battery->is_recharging = false; battery->cable_type = POWER_SUPPLY_TYPE_BATTERY; #if defined(CHARGER_S2MU106) -- 2.20.1