All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Daniel Mack <daniel@caiaq.de>
Cc: linux-kernel@vger.kernel.org, Liam Girdwood <lrg@slimlogic.co.uk>,
	Pierre Ossman <pierre@ossman.eu>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matt Fleming <matt@console-pimps.org>,
	Adrian Hunter <adrian.hunter@nokia.com>,
	David Brownell <dbrownell@users.sourceforge.net>,
	Russell King <rmk+kernel@arm.linux.org.uk>,
	Linus Walleij <linus.walleij@stericsson.com>,
	Eric Miao <eric.y.miao@gmail.com>,
	Robert Jarzmik <robert.jarzmik@free.fr>,
	Cliff Brake <cbrake@bec-systems.com>,
	Jarkko Lavinen <jarkko.lavinen@nokia.com>,
	linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] mmc: move regulator handling to core
Date: Thu, 3 Dec 2009 13:40:32 +0000	[thread overview]
Message-ID: <20091203134031.GA1311@rakim.wolfsonmicro.main> (raw)
In-Reply-To: <20091203133200.GX14091@buzzloop.caiaq.de>

On Thu, Dec 03, 2009 at 02:32:00PM +0100, Daniel Mack wrote:
> On Thu, Dec 03, 2009 at 01:22:41PM +0000, Mark Brown wrote:
> > On Thu, Dec 03, 2009 at 02:14:23PM +0100, Daniel Mack wrote:

> > > I would expect the power to be killed when the last user stops using it.
> > > Which should result in the same effect if you only have one host, one
> > > regulator, and one user.

> > Yes, it's always fine in that case (modulo always_on and/or regulators
> > without power control). 

> Well, it didn't for me and always_on, though, due to the return values I
> described.

I mean your new code is fine.

> > This goes back to the thing about using
> > regulator_get_exclusive(), the message given was that the MMC drivers
> > really needed to be able to guarantee that the power would be removed
> > when that was requested.

> > Like I say, if there isn't a *strict* requirement but it's only
> > desirable (possibly strongly desirable) then your approach is obviously
> > preferable.

> The mmci people would need to answer that. To me, the code just looked
> like a power saving feature.

> If this driver needs it, the only tweak to my patch to let that
> particular call site use regulator_get_exclusive, and the core will
> still do the right thing. For this case, the behaviour should be exactly
> the same than it currently is, correct?

No, you'll also need to update the way the driver bootstraps the
reference count since with regulator_get_exclusive() the reference count
is initialised to 1 if the regulator is enabled when it is claimed.

WARNING: multiple messages have this Message-ID (diff)
From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmc: move regulator handling to core
Date: Thu, 3 Dec 2009 13:40:32 +0000	[thread overview]
Message-ID: <20091203134031.GA1311@rakim.wolfsonmicro.main> (raw)
In-Reply-To: <20091203133200.GX14091@buzzloop.caiaq.de>

On Thu, Dec 03, 2009 at 02:32:00PM +0100, Daniel Mack wrote:
> On Thu, Dec 03, 2009 at 01:22:41PM +0000, Mark Brown wrote:
> > On Thu, Dec 03, 2009 at 02:14:23PM +0100, Daniel Mack wrote:

> > > I would expect the power to be killed when the last user stops using it.
> > > Which should result in the same effect if you only have one host, one
> > > regulator, and one user.

> > Yes, it's always fine in that case (modulo always_on and/or regulators
> > without power control). 

> Well, it didn't for me and always_on, though, due to the return values I
> described.

I mean your new code is fine.

> > This goes back to the thing about using
> > regulator_get_exclusive(), the message given was that the MMC drivers
> > really needed to be able to guarantee that the power would be removed
> > when that was requested.

> > Like I say, if there isn't a *strict* requirement but it's only
> > desirable (possibly strongly desirable) then your approach is obviously
> > preferable.

> The mmci people would need to answer that. To me, the code just looked
> like a power saving feature.

> If this driver needs it, the only tweak to my patch to let that
> particular call site use regulator_get_exclusive, and the core will
> still do the right thing. For this case, the behaviour should be exactly
> the same than it currently is, correct?

No, you'll also need to update the way the driver bootstraps the
reference count since with regulator_get_exclusive() the reference count
is initialised to 1 if the regulator is enabled when it is claimed.

  reply	other threads:[~2009-12-03 13:40 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-03 12:46 [PATCH] mmc: move regulator handling to core Daniel Mack
2009-12-03 12:46 ` Daniel Mack
2009-12-03 13:06 ` Mark Brown
2009-12-03 13:06   ` Mark Brown
2009-12-03 13:14   ` Daniel Mack
2009-12-03 13:14     ` Daniel Mack
2009-12-03 13:22     ` Mark Brown
2009-12-03 13:22       ` Mark Brown
2009-12-03 13:32       ` Daniel Mack
2009-12-03 13:32         ` Daniel Mack
2009-12-03 13:40         ` Mark Brown [this message]
2009-12-03 13:40           ` Mark Brown
2009-12-03 13:43           ` Daniel Mack
2009-12-03 13:43             ` Daniel Mack
2009-12-03 14:58       ` Russell King - ARM Linux
2009-12-03 14:58         ` Russell King - ARM Linux
2009-12-03 15:09         ` Mark Brown
2009-12-03 15:09           ` Mark Brown
2009-12-03 14:27 ` Adrian Hunter
2009-12-03 14:27   ` Adrian Hunter
2009-12-03 14:27   ` Adrian Hunter
2009-12-03 19:20   ` Daniel Mack
2009-12-03 19:20     ` Daniel Mack
2009-12-03 19:20     ` Daniel Mack
2009-12-03 20:12     ` Adrian Hunter
2009-12-03 20:12       ` Adrian Hunter
2009-12-03 20:12       ` Adrian Hunter
2009-12-04 11:58       ` Daniel Mack
2009-12-04 11:58         ` Daniel Mack
2009-12-04 11:58         ` Daniel Mack
2009-12-12  0:58         ` Daniel Mack
2009-12-12  0:58           ` Daniel Mack
2009-12-12  0:58           ` Daniel Mack
2009-12-14 17:43           ` Madhusudhan
2009-12-14 17:43             ` Madhusudhan
2009-12-14 17:43             ` Madhusudhan
2009-12-15  5:44         ` David Brownell
2009-12-15  5:44           ` David Brownell
2009-12-15  5:44           ` David Brownell
2010-08-27 19:03 ` Chris Ball
2010-08-27 19:03   ` Chris Ball
2010-08-28 14:48   ` Linus Walleij
2010-08-28 14:48     ` Linus Walleij
2010-08-29 13:27     ` Mark Brown
2010-08-29 13:27       ` Mark Brown
2010-08-29 15:30       ` Linus Walleij
2010-08-29 15:30         ` Linus Walleij
2010-08-31 11:07         ` Mark Brown
2010-08-31 11:07           ` Mark Brown
2010-08-31 12:15           ` Linus Walleij
2010-08-31 12:15             ` Linus Walleij
2010-08-31 12:15             ` Linus Walleij

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=20091203134031.GA1311@rakim.wolfsonmicro.main \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=adrian.hunter@nokia.com \
    --cc=akpm@linux-foundation.org \
    --cc=cbrake@bec-systems.com \
    --cc=daniel@caiaq.de \
    --cc=dbrownell@users.sourceforge.net \
    --cc=eric.y.miao@gmail.com \
    --cc=jarkko.lavinen@nokia.com \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=lrg@slimlogic.co.uk \
    --cc=matt@console-pimps.org \
    --cc=pierre@ossman.eu \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=robert.jarzmik@free.fr \
    /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.