Re: [PATCH] regulator: core: export function to check if regulator always on

From: Mark Brown
Date: Wed Nov 12 2014 - 12:28:07 EST


On Wed, Nov 12, 2014 at 04:58:56PM +0000, Richard Fitzgerald wrote:
> On Wed, Nov 12, 2014 at 02:58:02PM +0000, Mark Brown wrote:

> > > > and I'd also like to understand why this is
> > > > a better approach than using a callback to postpone these expensive
> > > > operations until the regulator is actually powered off like we already
> > > > do for some things like register cache resyncs. That is normally better
> > > > since it also avoids the work in cases where the regulator isn't always
> > > > on like reenabling during a delayed powerdown or shared regulators.

> > > The runtime_suspend() for the Arizona drivers has to do a bunch of
> > > preparation before disabling the DCVDD regulator (and there's more
> > > preparation steps that need to be upstreamed). There's no point doing
> > > any of this if at the end the regulator isn't going to switch off.

> > I'm not sure that this addresses my concern about postponing the
> > expensive work until the regulator is actually powered off at all?

> The point is that the work we want to avoid has to happen while the
> regulator is still powered up. We can't just rip power from the codec,
> it has to be setup ready for the DCVDD to be turned off. So it's
> pre-power down work we're avoiding by knowing that a power-down will
> never actually happen, it's not post-power-down work.

I'm sorry but you're still not addressing my question - to repeat, my
question is why this is better than postponing these expensive
operations to a callback at the time we want to power off. You keep
saying that you want to avoid these operations when they're not needed
but that's not what I'm asking about, what I'm asking is why polling
this particular possible reason is better than a notifier?

Attachment: signature.asc
Description: Digital signature