power: rk81x battery: add virtual power support
authorAndy Yan <yxj@rock-chips.com>
Wed, 10 Jun 2015 03:41:07 +0000 (11:41 +0800)
committer许盛飞 <xsf@rock-chips.com>
Wed, 17 Jun 2015 06:57:48 +0000 (14:57 +0800)
if some board don't use a real fuel gauge, set virtual_power
in dts, the battery driver will report virtural soc to user space

Signed-off-by: Andy Yan <yxj@rock-chips.com>
Signed-off-by: Jianhong Chen <chenjh@rock-chips.com>
drivers/power/rk818_battery.c

index 07f3300df0e19d526c5c43cbcc08a97d60a86e84..b28a1e61794501db376310fe7e8beeef57166b53 100755 (executable)
@@ -3908,7 +3908,6 @@ static void rk81x_bat_info_init(struct rk81x_battery *di,
        di->early_resume = 1;
        di->psy_status = POWER_SUPPLY_STATUS_DISCHARGING;
        di->bat_res = di->pdata->sense_resistor_mohm;
-       di->fg_drv_mode = FG_NORMAL_MODE;
        di->dischrg_algorithm_mode = DISCHRG_NORMAL_MODE;
        di->last_zero_mode_dsoc = DEF_LAST_ZERO_MODE_SOC;
        di->slp_chrg_status = rk81x_bat_get_chrg_status(di);
@@ -4091,6 +4090,8 @@ static int rk81x_bat_parse_dt(struct rk81x_battery *di)
        pdata->power_off_thresd = out_value;
 
        of_property_read_u32(np, "chrg_diff_voltagemV", &pdata->chrg_diff_vol);
+       of_property_read_u32(np, "virtual_power", &di->fg_drv_mode);
+       di->fg_drv_mode = di->fg_drv_mode ? TEST_POWER_MODE : FG_NORMAL_MODE;
 
        /*************  charger support adp types **********************/
        ret = of_property_read_u32(np, "support_usb_adp", &support_usb_adp);