mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
bms: do battery power supply change when fg update data
fg data can't update to user space timely, because fg driver only power supply change the bms psy. So need to change to battery psy to update data. Change-Id: Idd39efd3790b6e80b473a8048827663d5a61851d Signed-off-by: mahj8 <mahj8@motorola.com> Reviewed-on: https://gerrit.mot.com/2131783 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Huosheng Liao <liaohs@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
0df380501b
commit
177bfbe63a
1 changed files with 11 additions and 7 deletions
|
|
@ -117,6 +117,7 @@ struct cw_battery {
|
|||
struct power_supply cw_bat;
|
||||
#else
|
||||
struct power_supply *cw_bat;
|
||||
struct power_supply *batt_psy;
|
||||
#endif
|
||||
int chip_id;
|
||||
int voltage;
|
||||
|
|
@ -655,17 +656,20 @@ static void cw_bat_work(struct work_struct *work)
|
|||
delay_work = container_of(work, struct delayed_work, work);
|
||||
cw_bat = container_of(delay_work, struct cw_battery, battery_delay_work);
|
||||
|
||||
/* get battery power supply */
|
||||
if (!cw_bat->batt_psy) {
|
||||
cw_bat->batt_psy = power_supply_get_by_name("battery");
|
||||
if (!cw_bat->batt_psy)
|
||||
cw_printk("%s: get batt_psy fail\n", __func__);
|
||||
}
|
||||
|
||||
ret = cw_update_data(cw_bat);
|
||||
if (ret < 0)
|
||||
printk(KERN_ERR "iic read error when update data");
|
||||
|
||||
#ifdef CW_PROPERTIES
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)
|
||||
power_supply_changed(&cw_bat->cw_bat);
|
||||
#else
|
||||
power_supply_changed(cw_bat->cw_bat);
|
||||
#endif
|
||||
#endif
|
||||
if (cw_bat->batt_psy) {
|
||||
power_supply_changed(cw_bat->batt_psy);
|
||||
}
|
||||
|
||||
queue_delayed_work(cw_bat->cwfg_workqueue, &cw_bat->battery_delay_work, msecs_to_jiffies(queue_delayed_work_time));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue