power: rk81x-battery: modify low power check threshold voltage
authorJianhong Chen <chenjh@rock-chips.com>
Mon, 13 Jul 2015 14:26:29 +0000 (22:26 +0800)
committer许盛飞 <xsf@rock-chips.com>
Tue, 14 Jul 2015 05:51:49 +0000 (13:51 +0800)
Signed-off-by: Jianhong Chen <chenjh@rock-chips.com>
Signed-off-by: 许盛飞 <xsf@rock-chips.com>
drivers/power/rk818_battery.c

index 8b2fd397cfc2563823f1f92252b996defe9b2271..b75bdb918fbacb35167dbb48cc2bbb6830962386 100644 (file)
@@ -1268,7 +1268,7 @@ static void rk81x_bat_set_power_supply_state(struct rk81x_battery *di,
 static void rk81x_bat_lowpwr_check(struct rk81x_battery *di)
 {
        static u64 time;
-       int pwr_off_thresd = di->pdata->power_off_thresd - 50;
+       int pwr_off_thresd = di->pdata->power_off_thresd;
 
        if (di->current_avg < 0 &&  di->voltage < pwr_off_thresd) {
                if (!time)
@@ -1278,6 +1278,11 @@ static void rk81x_bat_lowpwr_check(struct rk81x_battery *di)
                        rk81x_bat_set_power_supply_state(di, NO_CHARGER);
                        dev_info(di->dev, "low power....\n");
                }
+
+               if (di->voltage <= pwr_off_thresd - 50) {
+                       di->dsoc--;
+                       rk81x_bat_set_power_supply_state(di, NO_CHARGER);
+               }
        } else {
                time = 0;
        }