diff options
| author | Anmin Hsu <anmin.hsu@mediatek.com> | 2015-10-01 23:46:42 +0800 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-05-11 17:14:29 +0200 |
| commit | 0b0b444cca9bc25171db53b9c8150385043a1aa1 (patch) | |
| tree | 8f1266ebf928aa09798747bcc90b6ad476a0e689 | |
| parent | ecf7438fe50bc0a3e0a53085125b3bc67626f403 (diff) | |
| download | android_kernel_m2note-0b0b444cca9bc25171db53b9c8150385043a1aa1.tar.gz | |
Fuel Gauge: fix suspend/resume calculation
[Detail]
1. bat volt is wrong in the fuel gauge algorithm of suspend/resume
2. fuel gauge log cannot print out
[Solution]
1. fix correct bat volt in resume
2. fix fuel gauge log level
[Feature] Battery Management
MTK-Commit-Id: 81ea0e76922c6280d1f7dcdb601d6ba04cf21369
Change-Id: Ibfd975bc72a373c8b15a0737361c50b7054fa865
Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
CR-Id: ALPS02314143
(cherry picked from commit bd1c50b3720b0e12f3e6b8d0fb32dcab1ca41461)
Backported for 3.10
Signed-off-by: Mister Oyster <oysterized@gmail.com>
| -rw-r--r-- | drivers/power/mediatek/battery_meter.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/drivers/power/mediatek/battery_meter.c b/drivers/power/mediatek/battery_meter.c index 64ffd8fca..2e584e937 100644 --- a/drivers/power/mediatek/battery_meter.c +++ b/drivers/power/mediatek/battery_meter.c @@ -2643,27 +2643,17 @@ kal_int32 get_dynamic_period(int first_use, int first_wakeup_time, int battery_c static kal_int32 last_time=0; kal_int32 ret_val = -1; - int check_fglog = 0; kal_int32 I_sleep = 0; kal_int32 new_time = 0; kal_int32 vbat_val = 0; int ret = 0; - check_fglog = Enable_FGADC_LOG; - if (check_fglog == 0) { - /* Enable_FGADC_LOG=1; */ - } - - vbat_val = g_sw_vbat_temp; ret = battery_meter_ctrl(BATTERY_METER_CMD_GET_HW_FG_CURRENT, ¤t_instant); ret = battery_meter_ctrl(BATTERY_METER_CMD_GET_HW_FG_CAR, &car_instant); - if (check_fglog == 0) { - /* Enable_FGADC_LOG=0; */ - } if (car_instant < 0) { car_instant = car_instant - (car_instant * 2); } @@ -2683,16 +2673,8 @@ kal_int32 get_dynamic_period(int first_use, int first_wakeup_time, int battery_c I_sleep = ((car_wakeup - car_sleep) * 3600) / last_time; /* unit: second */ if (I_sleep == 0) { - if (check_fglog == 0) { - /* Enable_FGADC_LOG=1; */ - } - ret = battery_meter_ctrl(BATTERY_METER_CMD_GET_HW_FG_CURRENT, &I_sleep); - I_sleep = I_sleep / 10; - if (check_fglog == 0) { - /* Enable_FGADC_LOG=0; */ - } } if (I_sleep == 0) { @@ -3298,10 +3280,10 @@ static ssize_t fgadc_log_write(struct file *filp, const char __user *buff, if (proc_fgadc_data == '1') { bm_print(BM_LOG_CRTI, "enable FGADC driver log system\n"); - Enable_FGADC_LOG = 1; + Enable_FGADC_LOG = BM_LOG_CRTI; } else if (proc_fgadc_data == '2') { bm_print(BM_LOG_CRTI, "enable FGADC driver log system:2\n"); - Enable_FGADC_LOG = 2; + Enable_FGADC_LOG = BM_LOG_FULL; } else { bm_print(BM_LOG_CRTI, "Disable FGADC driver log system\n"); Enable_FGADC_LOG = 0; |
