From: YH Huang <yh.huang@mediatek.com>
To: Sebastian Reichel <sre@kernel.org>
Cc: Rhyland Klein <rklein@nvidia.com>,
Daniel Kurtz <djkurtz@chromium.org>,
linux-pm@vger.kernel.org,
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-mediatek@lists.infradead.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] sbs-battery: fix power status when battery is dry
Date: Thu, 31 Mar 2016 10:42:31 +0800 [thread overview]
Message-ID: <1459392151.29450.44.camel@mtksdaap41> (raw)
In-Reply-To: <20160330150919.GA21068@earth>
On Wed, 2016-03-30 at 17:09 +0200, Sebastian Reichel wrote:
> Hi,
>
> On Wed, Mar 30, 2016 at 04:58:30PM +0800, YH Huang wrote:
> > If I revise the description in this way(using your clear explanation):
> > ------------------------------------------------------------------------
> > The battery capacity changing course is like this:
> >
> > full: BATTERY_FULLY_CHARGED => POWER_SUPPLY_STATUS_FULL
> > <unplug AC>
> > high->low: BATTERY_DISCHARGING => POWER_SUPPLY_STATUS_DISCHARGING
> > ~0%: DISCHARGING & FULLY_DISCHARGED => POWER_SUPPLY_STATUS_NOT_CHARGING
> > <plug in AC>
> > 0%~20%: FULLY_DISCHARGED => POWER_SUPPLY_STATUS_CHARGING
> > 20%~: No flag => POWER_SUPPLY_STATUS_CHARGING
> >
> > For now, it is not exactly right to show the status as
> > POWER_SUPPLY_STATUS_NOT_CHARGING when the battery is dry
> > (FULLY_DISCHARGED) and AC is plugged in.
> > Although the battery is in a low level, system works fine with the AC
> > charging.
> > It is better to say that the battery is charging.
> > ------------------------------------------------------------------------
> >
> > How about this?
> > By the way, should I also revise the title?
>
> POWER_SUPPLY_STATUS_NOT_CHARGING is used for AC connected, but
> battery not charging (e.g. because battery temperature is out
> of acceptable range). If you are discharging use
> POWER_SUPPLY_STATUS_DISCHARGING.
>
> You should just ignore the FULLY_DISCHARGED bit in the status
> property. If you don't want to loose the information about fully
> discharged battery add POWER_SUPPLY_PROP_CAPACITY_LEVEL, which maps:
>
> BATTERY_FULLY_CHARGED => POWER_SUPPLY_CAPACITY_LEVEL_FULL
> FULLY_DISCHARGED => POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL
> otherwise => POWER_SUPPLY_CAPACITY_LEVEL_NORMAL
Oops.
It looks like I misunderstand POWER_SUPPLY_STATUS_NOT_CHARGING.
As Daniel said before, we could just ignore FULLY_DISCHARGED.
So change like the
sbs-battery: fix power status when battery charging near
dry
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.
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;
YH Huang
WARNING: multiple messages have this Message-ID (diff)
From: yh.huang@mediatek.com (YH Huang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] sbs-battery: fix power status when battery is dry
Date: Thu, 31 Mar 2016 10:42:31 +0800 [thread overview]
Message-ID: <1459392151.29450.44.camel@mtksdaap41> (raw)
In-Reply-To: <20160330150919.GA21068@earth>
On Wed, 2016-03-30 at 17:09 +0200, Sebastian Reichel wrote:
> Hi,
>
> On Wed, Mar 30, 2016 at 04:58:30PM +0800, YH Huang wrote:
> > If I revise the description in this way(using your clear explanation):
> > ------------------------------------------------------------------------
> > The battery capacity changing course is like this:
> >
> > full: BATTERY_FULLY_CHARGED => POWER_SUPPLY_STATUS_FULL
> > <unplug AC>
> > high->low: BATTERY_DISCHARGING => POWER_SUPPLY_STATUS_DISCHARGING
> > ~0%: DISCHARGING & FULLY_DISCHARGED => POWER_SUPPLY_STATUS_NOT_CHARGING
> > <plug in AC>
> > 0%~20%: FULLY_DISCHARGED => POWER_SUPPLY_STATUS_CHARGING
> > 20%~: No flag => POWER_SUPPLY_STATUS_CHARGING
> >
> > For now, it is not exactly right to show the status as
> > POWER_SUPPLY_STATUS_NOT_CHARGING when the battery is dry
> > (FULLY_DISCHARGED) and AC is plugged in.
> > Although the battery is in a low level, system works fine with the AC
> > charging.
> > It is better to say that the battery is charging.
> > ------------------------------------------------------------------------
> >
> > How about this?
> > By the way, should I also revise the title?
>
> POWER_SUPPLY_STATUS_NOT_CHARGING is used for AC connected, but
> battery not charging (e.g. because battery temperature is out
> of acceptable range). If you are discharging use
> POWER_SUPPLY_STATUS_DISCHARGING.
>
> You should just ignore the FULLY_DISCHARGED bit in the status
> property. If you don't want to loose the information about fully
> discharged battery add POWER_SUPPLY_PROP_CAPACITY_LEVEL, which maps:
>
> BATTERY_FULLY_CHARGED => POWER_SUPPLY_CAPACITY_LEVEL_FULL
> FULLY_DISCHARGED => POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL
> otherwise => POWER_SUPPLY_CAPACITY_LEVEL_NORMAL
Oops.
It looks like I misunderstand POWER_SUPPLY_STATUS_NOT_CHARGING.
As Daniel said before, we could just ignore FULLY_DISCHARGED.
So change like the
sbs-battery: fix power status when battery charging near
dry
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.
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;
YH Huang
WARNING: multiple messages have this Message-ID (diff)
From: YH Huang <yh.huang@mediatek.com>
To: Sebastian Reichel <sre@kernel.org>
Cc: Rhyland Klein <rklein@nvidia.com>,
Daniel Kurtz <djkurtz@chromium.org>, <linux-pm@vger.kernel.org>,
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-mediatek@lists.infradead.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] sbs-battery: fix power status when battery is dry
Date: Thu, 31 Mar 2016 10:42:31 +0800 [thread overview]
Message-ID: <1459392151.29450.44.camel@mtksdaap41> (raw)
In-Reply-To: <20160330150919.GA21068@earth>
On Wed, 2016-03-30 at 17:09 +0200, Sebastian Reichel wrote:
> Hi,
>
> On Wed, Mar 30, 2016 at 04:58:30PM +0800, YH Huang wrote:
> > If I revise the description in this way(using your clear explanation):
> > ------------------------------------------------------------------------
> > The battery capacity changing course is like this:
> >
> > full: BATTERY_FULLY_CHARGED => POWER_SUPPLY_STATUS_FULL
> > <unplug AC>
> > high->low: BATTERY_DISCHARGING => POWER_SUPPLY_STATUS_DISCHARGING
> > ~0%: DISCHARGING & FULLY_DISCHARGED => POWER_SUPPLY_STATUS_NOT_CHARGING
> > <plug in AC>
> > 0%~20%: FULLY_DISCHARGED => POWER_SUPPLY_STATUS_CHARGING
> > 20%~: No flag => POWER_SUPPLY_STATUS_CHARGING
> >
> > For now, it is not exactly right to show the status as
> > POWER_SUPPLY_STATUS_NOT_CHARGING when the battery is dry
> > (FULLY_DISCHARGED) and AC is plugged in.
> > Although the battery is in a low level, system works fine with the AC
> > charging.
> > It is better to say that the battery is charging.
> > ------------------------------------------------------------------------
> >
> > How about this?
> > By the way, should I also revise the title?
>
> POWER_SUPPLY_STATUS_NOT_CHARGING is used for AC connected, but
> battery not charging (e.g. because battery temperature is out
> of acceptable range). If you are discharging use
> POWER_SUPPLY_STATUS_DISCHARGING.
>
> You should just ignore the FULLY_DISCHARGED bit in the status
> property. If you don't want to loose the information about fully
> discharged battery add POWER_SUPPLY_PROP_CAPACITY_LEVEL, which maps:
>
> BATTERY_FULLY_CHARGED => POWER_SUPPLY_CAPACITY_LEVEL_FULL
> FULLY_DISCHARGED => POWER_SUPPLY_CAPACITY_LEVEL_CRITICAL
> otherwise => POWER_SUPPLY_CAPACITY_LEVEL_NORMAL
Oops.
It looks like I misunderstand POWER_SUPPLY_STATUS_NOT_CHARGING.
As Daniel said before, we could just ignore FULLY_DISCHARGED.
So change like the
sbs-battery: fix power status when battery charging near
dry
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.
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;
YH Huang
next prev parent reply other threads:[~2016-03-31 2:42 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-23 9:53 [PATCH] sbs-battery: fix power status when battery is dry YH Huang
2016-03-23 9:53 ` YH Huang
2016-03-23 9:53 ` YH Huang
2016-03-24 4:01 ` Daniel Kurtz
2016-03-24 4:01 ` Daniel Kurtz
2016-03-24 6:43 ` YH Huang
2016-03-24 6:43 ` YH Huang
2016-03-24 6:43 ` YH Huang
2016-03-25 3:06 ` Daniel Kurtz
2016-03-25 3:06 ` Daniel Kurtz
2016-03-28 2:32 ` YH Huang
2016-03-28 2:32 ` YH Huang
2016-03-28 2:32 ` YH Huang
2016-03-28 10:05 ` Daniel Kurtz
2016-03-28 10:05 ` Daniel Kurtz
2016-03-28 15:57 ` Rhyland Klein
2016-03-28 15:57 ` Rhyland Klein
2016-03-28 15:57 ` Rhyland Klein
2016-03-29 1:52 ` YH Huang
2016-03-29 1:52 ` YH Huang
2016-03-29 1:52 ` YH Huang
2016-03-29 15:05 ` Rhyland Klein
2016-03-29 15:05 ` Rhyland Klein
2016-03-29 15:05 ` Rhyland Klein
2016-03-30 8:58 ` YH Huang
2016-03-30 8:58 ` YH Huang
2016-03-30 8:58 ` YH Huang
2016-03-30 15:09 ` Rhyland Klein
2016-03-30 15:09 ` Rhyland Klein
2016-03-30 15:09 ` Rhyland Klein
2016-03-30 15:09 ` Sebastian Reichel
2016-03-30 15:09 ` Sebastian Reichel
2016-03-31 2:42 ` YH Huang [this message]
2016-03-31 2:42 ` YH Huang
2016-03-31 2:42 ` YH Huang
2016-04-02 3:46 ` Sebastian Reichel
2016-04-02 3:46 ` Sebastian Reichel
2016-04-06 2:35 ` YH Huang
2016-04-06 2:35 ` YH Huang
2016-04-06 2:35 ` YH Huang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1459392151.29450.44.camel@mtksdaap41 \
--to=yh.huang@mediatek.com \
--cc=dbaryshkov@gmail.com \
--cc=djkurtz@chromium.org \
--cc=dwmw2@infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=rklein@nvidia.com \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.