public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Javier Martinez Canillas <javier@osg.samsung.com>
To: Mark Brown <broonie@kernel.org>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	Liam Girdwood <lgirdwood@gmail.com>,
	Bjorn Andersson <bjorn.andersson@sonymobile.com>
Subject: Re: [PATCH] regulator: Lookup unresolved parent supplies before regulators cleanup
Date: Mon, 21 Mar 2016 09:13:55 -0300	[thread overview]
Message-ID: <56EFE583.6000807@osg.samsung.com> (raw)
In-Reply-To: <20160321111100.GN2566@sirena.org.uk>

[adding Bjorn Andersson who is the author of commit 6261b06de565]

Hello Mark,

Thanks a lot for your feedback.

On 03/21/2016 08:11 AM, Mark Brown wrote:
> On Sun, Mar 20, 2016 at 11:39:46PM -0300, Javier Martinez Canillas wrote:
> 
>> Unfortunately, that changed the behavior of the regulator core since now a
>> parent supply with a child regulator marked as always-on, won't be enabled
>> unless a client driver attempts to get the child regulator during boot.
> 
>> This patch makes the unresolved parent supplies to be looked up before the
>> regulators late cleanup, so those with a child marked as always on will be
>> enabled regardless if a driver attempted to get the child regulator or not.
> 
> This doesn't make much sense to me as a fix - it feels like we're doing
> a fragile hack.  Surely it's better to do this as we register the
> devices, that way we're also protected against any similar issues with

Sorry, not sure if I understood correctly. You mean to do it when the
drivers register the regulators, so at regulator_register() ?

That's basically what was done before Bjorn's patch but that doesn't
handle the case of out of order registration when having circular
dependencies between regulators.

> this that might occur after late probe if things are built modular?  Or

Someone told me once that modules are always a special case :)

> is there a strong reason for doing this only at late_initcall?
> 

The reason why I did in late_initcall / regulator_init_complete is that
the problem for me is that unused regulators are disabled on cleanup but
parents whose childrens are marked as always on should be keep enabled.

But these are disabled anyways just because the regulator core didn't know
about that dependency. So doing it before the late cleanup sounded like a
good solution for me.

Now if you think that's a hack and have another approach in mind, then I'll
gladly try to implement it instead, if you could please elaborate on that.

Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America

  reply	other threads:[~2016-03-21 12:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-21  2:39 [PATCH] regulator: Lookup unresolved parent supplies before regulators cleanup Javier Martinez Canillas
2016-03-21 11:11 ` Mark Brown
2016-03-21 12:13   ` Javier Martinez Canillas [this message]
2016-03-21 12:25     ` Javier Martinez Canillas
2016-03-21 12:37     ` Mark Brown
2016-03-21 12:44       ` Javier Martinez Canillas

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=56EFE583.6000807@osg.samsung.com \
    --to=javier@osg.samsung.com \
    --cc=bjorn.andersson@sonymobile.com \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox