From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/18] power: ab8500_fg: Replace msleep() with usleep_range() for greater accuracy
Date: Tue, 15 Jan 2013 13:52:48 +0000 [thread overview]
Message-ID: <20130115135248.GB9379@gmail.com> (raw)
In-Reply-To: <201301151323.28879.arnd@arndb.de>
> > > > @@ -956,7 +956,7 @@ static int ab8500_fg_load_comp_volt_to_capacity(struct ab8500_fg *di)
> > > > do {
> > > > vbat += ab8500_fg_bat_voltage(di);
> > > > i++;
> > > > - msleep(5);
> > > > + usleep_range(5000, 5001);
> > >
> > > If you're going to give a range that small
> > > you might as well use usleep instead.
> > >
> > > Otherwise, add some tolerance to allow any
> > > other coalesced wakeup to occur.
> >
> > I can't increase the tolerance, as I don't know how that would
> > effect the running of the system, and the person who would know
> > is off on parental leave.
>
> The function only averages the voltage between a couple of readings.
> It won't change much if those register reads are slightly more
> uniformly timed. Note that the thread can still be preempted for
> a much longer time if anything else is running, and
Okay, I'll fixup to have a more sensible range.
> the entire
> interrupt handling in this driver looks so fragile that I would
> not rely on the interrupt actually happening at the right time
> anyway. I think it should first be debugged properly to remove
> the need for the enable_irq/disable_irq calls.
Yes, I remember discussing this with you before and I've since
placed it on my TODO list. However, I'm really shying away from
it for the moment, as this patch-set only applies <20 out of the
70+ outstanding patches left in the internal kernel's delta. To
avoid any unnecessary fixups, I'll apply those kinds of fixes at
the end of the set.
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Joe Perches <joe@perches.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linus.walleij@stericsson.com,
cbouatmailru@gmail.com, Jonas Aaberg <jonas.aberg@stericsson.com>
Subject: Re: [PATCH 04/18] power: ab8500_fg: Replace msleep() with usleep_range() for greater accuracy
Date: Tue, 15 Jan 2013 13:52:48 +0000 [thread overview]
Message-ID: <20130115135248.GB9379@gmail.com> (raw)
In-Reply-To: <201301151323.28879.arnd@arndb.de>
> > > > @@ -956,7 +956,7 @@ static int ab8500_fg_load_comp_volt_to_capacity(struct ab8500_fg *di)
> > > > do {
> > > > vbat += ab8500_fg_bat_voltage(di);
> > > > i++;
> > > > - msleep(5);
> > > > + usleep_range(5000, 5001);
> > >
> > > If you're going to give a range that small
> > > you might as well use usleep instead.
> > >
> > > Otherwise, add some tolerance to allow any
> > > other coalesced wakeup to occur.
> >
> > I can't increase the tolerance, as I don't know how that would
> > effect the running of the system, and the person who would know
> > is off on parental leave.
>
> The function only averages the voltage between a couple of readings.
> It won't change much if those register reads are slightly more
> uniformly timed. Note that the thread can still be preempted for
> a much longer time if anything else is running, and
Okay, I'll fixup to have a more sensible range.
> the entire
> interrupt handling in this driver looks so fragile that I would
> not rely on the interrupt actually happening at the right time
> anyway. I think it should first be debugged properly to remove
> the need for the enable_irq/disable_irq calls.
Yes, I remember discussing this with you before and I've since
placed it on my TODO list. However, I'm really shying away from
it for the moment, as this patch-set only applies <20 out of the
70+ outstanding patches left in the internal kernel's delta. To
avoid any unnecessary fixups, I'll apply those kinds of fixes at
the end of the set.
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2013-01-15 13:52 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-11 13:12 [PATCH 00/18] AB8500 battery management series upgrade Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 01/18] power: ab8500_charger: Rename the power_loss function Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 02/18] power: ab8500_bm: Skip first CCEOC irq for instant current Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 03/18] power: ab8500_charger: Detect charger removal Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-16 1:36 ` Anton Vorontsov
2013-01-16 1:36 ` Anton Vorontsov
2013-01-16 8:48 ` Lee Jones
2013-01-16 8:48 ` Lee Jones
2013-01-11 13:12 ` [PATCH 04/18] power: ab8500_fg: Replace msleep() with usleep_range() for greater accuracy Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-14 17:17 ` Joe Perches
2013-01-14 17:17 ` Joe Perches
2013-01-15 8:48 ` Lee Jones
2013-01-15 8:48 ` Lee Jones
2013-01-15 8:59 ` Linus Walleij
2013-01-15 8:59 ` Linus Walleij
2013-01-15 13:23 ` Arnd Bergmann
2013-01-15 13:23 ` Arnd Bergmann
2013-01-15 13:52 ` Lee Jones [this message]
2013-01-15 13:52 ` Lee Jones
2013-01-15 14:09 ` Lee Jones
2013-01-15 14:09 ` Lee Jones
2013-01-11 13:12 ` [PATCH 05/18] power: ab8500_charger: Handle gpadc errors Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 06/18] power: ab8500_bm: Recharge condition not optimal for battery Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-16 1:44 ` Anton Vorontsov
2013-01-16 1:44 ` Anton Vorontsov
2013-01-16 8:47 ` Lee Jones
2013-01-16 8:47 ` Lee Jones
2013-01-11 13:12 ` [PATCH 07/18] power: ab8500_fg: balance IRQ enable Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 08/18] power: ab8500_btemp: Allign battery temperature resolution with the framework Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 09/18] power: ab8500_btemp: Ignore false btemp low interrupt Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 10/18] power: ab8500_bm: Adds support for Car/Travel Adapters Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:12 ` [PATCH 11/18] power: ab8500_fg: Round capacity output Lee Jones
2013-01-11 13:12 ` Lee Jones
2013-01-11 13:13 ` [PATCH 12/18] power: ab8500_btemp: remove superfluous BTEMP thermal comp Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-11 13:13 ` [PATCH 13/18] power: ab8500_fg: Added support for BATT_OVV Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-11 13:13 ` [PATCH 14/18] power: pm2301: Add pm2301 charger Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-16 1:37 ` Anton Vorontsov
2013-01-16 1:37 ` Anton Vorontsov
2013-01-11 13:13 ` [PATCH 15/18] power: ab8500_charger: remove unused defines Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-11 13:13 ` [PATCH 16/18] power: ab8500_charger: Adds support for legacy USB chargers Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-11 13:13 ` [PATCH 17/18] Power: ab8500_fg: Overflow in current calculation Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-11 13:13 ` [PATCH 18/18] power: ab8500_fg: Remove pointless round_jiffies() call Lee Jones
2013-01-11 13:13 ` Lee Jones
2013-01-16 1:48 ` [PATCH 00/18] AB8500 battery management series upgrade Anton Vorontsov
2013-01-16 1:48 ` Anton Vorontsov
2013-01-16 8:50 ` Lee Jones
2013-01-16 8:50 ` Lee Jones
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=20130115135248.GB9379@gmail.com \
--to=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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.