From: Daniel Ribeiro <drwyrm@gmail.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>,
linux-kernel <linux-kernel@vger.kernel.org>,
openezx-devel <openezx-devel@lists.openezx.org>,
Samuel Ortiz <sameo@linux.intel.com>,
David Brownell <dbrownell@users.sourceforge.net>
Subject: Re: [PATCH] PCAP regulator driver (for 2.6.32).
Date: Fri, 26 Jun 2009 03:04:23 -0300 [thread overview]
Message-ID: <1245996263.10360.122.camel@brutus> (raw)
In-Reply-To: <20090625233723.GA13150@sirena.org.uk>
[-- Attachment #1: Type: text/plain, Size: 2022 bytes --]
Em Sex, 2009-06-26 às 00:37 +0100, Mark Brown escreveu:
> On Thu, Jun 25, 2009 at 05:29:53PM -0300, Daniel Ribeiro wrote:
> > + /*
> > + * The regulator framework doesn't like regulators which default
> > + * to ON at boot time, so we just disable it here (when it is safe).
> > + */
> > + if (pdev->id == VAUX2 || pdev->id == VAUX3)
> > + pcap_regulator_disable(rdev);
>
> No need to do this - the regulator framework is perfectly happy with
> regulators that are enabled at boot time and turning regulators that are
> actively being used off is likely to cause issues. Regulator drivers
> should just leave everything as they find it and leave it up to the core
> and machine drivers to make any changes.
Humm, I still see:
if (WARN(rdev->use_count <= 0,
"unbalanced disables for %s\n",
rdev->desc->name))
return -EIO;
So, the regulator is enabled at boot, but it can't be disabled because
use_count is 0. This is the same issue as twl4030-mmc, but instead of a
enable/disable pair on pxamci.c i opted to disable it at pcap's
regulator probe(). VAUX2 and VAUX3 are only used for MMC on all the
hardware that I know of, so it is safe.
Also, on regulator_init_complete() the regulator core disables all
regulators which have a use_count == 0. So, its kind of funny that if I
don't disable the regulator at boot(so mmc_core does enable() it), the
timing causes regulator_init_complete() to auto-disable the regulator
right when pxamci.c is probing the card.
I can move this hack to pxamci.c if you want me to (as David did for
twl4030), but this issue really should be fixed on regulator/core.c:
With the current code if you use a regulator which can be disabled as
the supplier for the CPU core, then the regulator framework will power
off the CPU at boot.
Maybe you should simply allow disable() if use_count is 0, and not
auto-disable() on regulator_init_complete() ?
--
Daniel Ribeiro
[-- Attachment #2: Esta é uma parte de mensagem assinada digitalmente --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
next prev parent reply other threads:[~2009-06-26 6:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-25 20:29 [PATCH] PCAP regulator driver (for 2.6.32) Daniel Ribeiro
2009-06-25 23:37 ` Mark Brown
2009-06-26 6:04 ` Daniel Ribeiro [this message]
2009-06-26 10:55 ` Mark Brown
2009-06-26 12:26 ` Daniel Ribeiro
2009-06-26 15:08 ` Mark Brown
2009-06-26 22:26 ` Daniel Ribeiro
2009-06-27 0:20 ` Mark Brown
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=1245996263.10360.122.camel@brutus \
--to=drwyrm@gmail.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=dbrownell@users.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=lrg@slimlogic.co.uk \
--cc=openezx-devel@lists.openezx.org \
--cc=sameo@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox