From: Keunho Hwang Date: Mon, 1 Jul 2019 07:25:37 +0000 (+0900) Subject: [RAMEN9610-20069][9610] drivers: fuelgauge: change recalculation condition for SOCni X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=bd2cee4108d1e60e59bc5f1c5fa63bf16034abf4;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [RAMEN9610-20069][9610] drivers: fuelgauge: change recalculation condition for SOCni Change-Id: Ia83139177c09bb9471728d1597d71d1d802f7579 Signed-off-by: Keunho Hwang --- diff --git a/drivers/power/supply/s2mu106_fuelgauge.c b/drivers/power/supply/s2mu106_fuelgauge.c index f6fba44c1a92..5d5920ea9407 100644 --- a/drivers/power/supply/s2mu106_fuelgauge.c +++ b/drivers/power/supply/s2mu106_fuelgauge.c @@ -489,8 +489,16 @@ static void s2mu106_temperature_compensation(struct s2mu106_fuelgauge_data *fuel If mapping occurs continuously, SOC is not changed. So SOC_R need to be updated before mapping. */ - fuelgauge->soc_r = s2mu106_get_soc_map(fuelgauge, - fuelgauge->pre_bat_charging, fuelgauge->pre_comp_socr); + pr_info("%s: original SOC_R = %d, pre_bat_charging = %d, bat_charging = %d\n", + __func__, fuelgauge->soc_r, fuelgauge->pre_bat_charging, + fuelgauge->bat_charging); + + if (!(fuelgauge->pre_bat_charging && !fuelgauge->bat_charging)) { + fuelgauge->soc_r = s2mu106_get_soc_map(fuelgauge, + fuelgauge->pre_bat_charging, fuelgauge->pre_comp_socr); + + pr_info("%s: use %d for SOCni\n", __func__, fuelgauge->soc_r); + } fuelgauge->socni = fuelgauge->soc_r; fuelgauge->soc0i = fuelgauge->rsoc;