Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752396AbcDIKix (ORCPT ); Sat, 9 Apr 2016 06:38:53 -0400 Received: from mail-vk0-f45.google.com ([209.85.213.45]:35929 "EHLO mail-vk0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751574AbcDIKiv (ORCPT ); Sat, 9 Apr 2016 06:38:51 -0400 MIME-Version: 1.0 In-Reply-To: <1459909945-36541-1-git-send-email-yh.huang@mediatek.com> References: <1459909945-36541-1-git-send-email-yh.huang@mediatek.com> From: Daniel Kurtz Date: Sat, 9 Apr 2016 20:38:30 +1000 X-Google-Sender-Auth: I0H3llqwb3NvY3P-bRclQ6npQxA Message-ID: Subject: Re: [PATCH] sbs-battery: fix power status when battery charging near dry To: YH Huang Cc: Sebastian Reichel , Dmitry Eremin-Solenikov , David Woodhouse , Matthias Brugger , linux-pm@vger.kernel.org, "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "moderated list:ARM/Mediatek SoC support" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1717 Lines: 43 On Wed, Apr 6, 2016 at 12:32 PM, YH Huang wrote: > POWER_SUPPLY_STATUS_NOT_CHARGING is used for AC connected, but > battery not charging (e.g. because battery temperature is out > of acceptable range). > > When battery is charging near dry and BATTERY_FULL_DISCHARGED is set, > it is wrong to set as POWER_SUPPLY_STATUS_NOT_CHARGING. > Just use BATTERY_DISCHARGING to decide the power supply status is > discharging or charging. > > Signed-off-by: YH Huang Reviewed-by: Daniel Kurtz > --- > drivers/power/sbs-battery.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/drivers/power/sbs-battery.c b/drivers/power/sbs-battery.c > index d6226d6..768b9fc 100644 > --- a/drivers/power/sbs-battery.c > +++ b/drivers/power/sbs-battery.c > @@ -382,8 +382,6 @@ static int sbs_get_battery_property(struct i2c_client *client, > > if (ret & BATTERY_FULL_CHARGED) > val->intval = POWER_SUPPLY_STATUS_FULL; > - else if (ret & BATTERY_FULL_DISCHARGED) > - val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING; > else if (ret & BATTERY_DISCHARGING) > val->intval = POWER_SUPPLY_STATUS_DISCHARGING; > else > @@ -702,8 +700,6 @@ static void sbs_delayed_work(struct work_struct *work) > > if (ret & BATTERY_FULL_CHARGED) > ret = POWER_SUPPLY_STATUS_FULL; > - else if (ret & BATTERY_FULL_DISCHARGED) > - ret = POWER_SUPPLY_STATUS_NOT_CHARGING; > else if (ret & BATTERY_DISCHARGING) > ret = POWER_SUPPLY_STATUS_DISCHARGING; > else > -- > 1.7.9.5 >