From: Heikki Krogerus <heikki.krogerus@nokia.com>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: "Pali Rohár" <pali.rohar@gmail.com>,
"Anton Vorontsov" <cbouatmailru@gmail.com>,
"Rodolfo Giometti" <giometti@linux.it>,
"Grazvydas Ignotas" <notasas@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] bq27x00: New property POWER_SUPPLY_PROP_CURRENT_MAX
Date: Tue, 1 Mar 2011 08:35:19 +0200 [thread overview]
Message-ID: <20110301063519.GA28708@esdhcp034230> (raw)
In-Reply-To: <4D6BA118.9090304@metafoo.de>
On Mon, Feb 28, 2011 at 02:20:24PM +0100, ext Lars-Peter Clausen wrote:
> On 02/27/2011 01:02 PM, Pali Rohár wrote:
> > This patch add support for reporting property POWER_SUPPLY_PROP_CURRENT_MAX
> >
> > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> >
> > --- a/drivers/power/bq27x00_battery.c 2011-02-27 12:14:56.000000000 +0100
> > +++ b/drivers/power/bq27x00_battery.c 2011-02-27 12:55:33.000000000 +0100
> > @@ -4,6 +4,7 @@
> > * Copyright (C) 2008 Rodolfo Giometti <giometti@linux.it>
> > * Copyright (C) 2008 Eurotech S.p.A. <info@eurotech.it>
> > * Copyright (C) 2010-2011 Lars-Peter Clausen <lars@metafoo.de>
> > + * Copyright (C) 2011 Pali Rohár <pali.rohar@gmail.com>
> > *
> > * Based on a previous work by Copyright (C) 2008 Texas Instruments, Inc.
> > *
> > @@ -53,11 +54,13 @@
> >
> > #define BQ27000_REG_RSOC 0x0B /* Relative State-of-Charge */
> > #define BQ27000_REG_ILMD 0x76 /* Initial last measured discharge */
> > +#define BQ27000_REG_IMLC 0x7D /* Initial max load current */
> > #define BQ27000_FLAG_CHGS BIT(7)
> > #define BQ27000_FLAG_FC BIT(5)
> >
> > #define BQ27500_REG_SOC 0x2C
> > #define BQ27500_REG_DCAP 0x3C /* Design capacity */
> > +#define BQ27500_REG_MLI 0x1E /* Max load current */
> > #define BQ27500_FLAG_DSC BIT(0)
> > #define BQ27500_FLAG_FC BIT(9)
> >
> > @@ -90,6 +93,7 @@ struct bq27x00_device_info {
> >
> > struct bq27x00_reg_cache cache;
> > int charge_design_full;
> > + int current_max;
> >
> > unsigned long last_update;
> > struct delayed_work work;
> > @@ -106,6 +110,7 @@ static enum power_supply_property bq27x0
> > POWER_SUPPLY_PROP_PRESENT,
> > POWER_SUPPLY_PROP_VOLTAGE_NOW,
> > POWER_SUPPLY_PROP_CURRENT_NOW,
> > + POWER_SUPPLY_PROP_CURRENT_MAX,
> > POWER_SUPPLY_PROP_CAPACITY,
> > POWER_SUPPLY_PROP_TEMP,
> > POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW,
> > @@ -220,6 +225,32 @@ static int bq27x00_battery_read_ilmd(str
> > }
> >
> > /*
> > + * Return the battery Initial max load current in µA
> > + * Or < 0 if something fails.
> > + */
> > +static int bq27x00_battery_read_imlc(struct bq27x00_device_info *di)
> > +{
> > + int imlc;
> > +
> > + if (di->chip == BQ27500)
> > + imlc = bq27x00_read(di, BQ27500_REG_MLI, false);
> > + else
> > + imlc = bq27x00_read(di, BQ27000_REG_IMLC, true);
> > +
>
> According to the datasheet the MLI register contains an adaptive value which is
> averaged each time the battery has been fully charged after previously being
> discharged to less then 50%.
> The IMLC register holds some preprogrammed value and is used to initialize the
> MLI register upon a battery reset.
> So with the current implementation you'll get different results for
> bq27000/bq27200 and bq27500.
>
> Furthermore I'm not sure if the CURRENT_MAX property actually makes sense in
> the context of a battery.
> There is no entry for the CURRENT_MAX property in
> Documentation/power/power_supply. But according to the commit message of the
> commit adding that property I would assume that it is supposed to be used for
> chargers to indicate the maximum current that can be drawn from it. (Adding the
> author of that commit to Cc).
Yes, the CURRENT_MAX property was meant for suppliers that it's
_supplicants_, batteries, can use. I guess this needs to be added to
Documentation/power/power_supply_class.txt.
So I agree. It does not seem to make much sense to use it here.
--
heikki
prev parent reply other threads:[~2011-03-01 6:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-27 12:02 [PATCH] bq27x00: New property POWER_SUPPLY_PROP_CURRENT_MAX Pali Rohár
2011-02-28 13:20 ` Lars-Peter Clausen
2011-03-01 6:35 ` Heikki Krogerus [this message]
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=20110301063519.GA28708@esdhcp034230 \
--to=heikki.krogerus@nokia.com \
--cc=cbouatmailru@gmail.com \
--cc=giometti@linux.it \
--cc=lars@metafoo.de \
--cc=linux-kernel@vger.kernel.org \
--cc=notasas@gmail.com \
--cc=pali.rohar@gmail.com \
/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.