[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160113084424.GC11560@pali>
Date: Wed, 13 Jan 2016 09:44:24 +0100
From: Pali Rohár <pali.rohar@...il.com>
To: Pavel Machek <pavel@....cz>
Cc: "Andrew F. Davis" <afd@...com>, sre@...ian.org, sre@...g0.de,
kernel list <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-omap@...r.kernel.org, tony@...mide.com, khilman@...nel.org,
aaro.koskinen@....fi, ivo.g.dimitrov.75@...il.com,
patrikbachan@...il.com, serge@...lyn.com, a.hajda@...sung.com
Subject: Re: /sys/class/power_supply/bq27200-0/capacity changed meaning
between 4.1 and 4.4?
On Tuesday 12 January 2016 22:53:52 Pavel Machek wrote:
> Hi!
>
> > >>If not, tell me, and I can do it, but it will involve a lot of swaring...
> > >
> > >I'll give it a look over.
> >
> > OK, I'm still looking for a test setup, but this was definitely a problem,
> > could you give this a try?:
>
> Well, search no more. I tested it and seems to work ok. There's one
> more blank line in the source, so I had to apply patch by hand.
>
> Tested-by: Pavel Machek <pavel@....cz>
> Acked-by: Pavel Machek <pavel@....cz>
> Reported-by: Pavel Machek <pavel@....cz>
> Cc: stable@...r.kernel.org
>
> ? :-).
>
> And... thanks!
> Pavel
There are more pending fixes for bq27xxx... Maybe your is duplicate?
http://thread.gmane.org/gmane.linux.power-management.general/70090
http://thread.gmane.org/gmane.linux.power-management.general/69716/focus=69714
http://thread.gmane.org/gmane.linux.power-management.general/69716/focus=2110580
Sebastian, please take them and ideally send to stable@ for backporting.
>
> > diff --git a/drivers/power/bq27xxx_battery.c b/drivers/power/bq27xxx_battery.c
> > index 880233c..4fec3cf 100644
> > --- a/drivers/power/bq27xxx_battery.c
> > +++ b/drivers/power/bq27xxx_battery.c
> > @@ -470,8 +470,9 @@ static inline int bq27xxx_read(struct bq27xxx_device_info *di, int reg_index,
> > static int bq27xxx_battery_read_soc(struct bq27xxx_device_info *di)
> > {
> > int soc;
> > + bool single = di->chip == BQ27000 || di->chip == BQ27010;
> > - soc = bq27xxx_read(di, BQ27XXX_REG_SOC, false);
> > + soc = bq27xxx_read(di, BQ27XXX_REG_SOC, single);
> > if (soc < 0)
> > dev_dbg(di->dev, "error reading State-of-Charge\n");
>
--
Pali Rohár
pali.rohar@...il.com
Powered by blists - more mailing lists