From: Andy Yan Date: Mon, 8 Jun 2015 01:38:49 +0000 (+0800) Subject: power: rk81x battery: fix charger online init X-Git-Tag: firefly_0821_release~4021 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2546580dcb667f6f2cbfff4e810e060c00875ce5;p=firefly-linux-kernel-4.4.55.git power: rk81x battery: fix charger online init if the system boot with charger online, use it as init state for power_supply_register Signed-off-by: Andy Yan Signed-off-by: Jianhong Chen --- diff --git a/drivers/power/rk818_battery.c b/drivers/power/rk818_battery.c index d78ee5df7557..81742a7975b3 100644 --- a/drivers/power/rk818_battery.c +++ b/drivers/power/rk818_battery.c @@ -3897,8 +3897,13 @@ static void rk81x_bat_irq_init(struct rk81x_battery *di) static void rk81x_bat_info_init(struct rk81x_battery *di, struct rk818 *chip) { + u8 val; unsigned long time_base = get_runtime_sec(); + rk81x_bat_read(di, RK818_VB_MON_REG, &val, 1); + if (val & PLUG_IN_STS) + rk81x_bat_set_power_supply_state(di, USB_CHARGER); + di->cell.config = di->pdata->cell_cfg; di->design_capacity = di->pdata->cell_cfg->design_capacity; di->qmax = di->pdata->cell_cfg->design_qmax; @@ -4295,6 +4300,7 @@ static int rk81x_battery_resume(struct platform_device *dev) if ((!rk81x_chrg_online(di) && di->voltage <= pwroff_thresd) || rk81x_chrg_online(di)) wake_lock_timeout(&di->resume_wake_lock, 5 * HZ); + /* * do not modify the g_base_sec */