Re: [PATCH v5] regulator: core: Resolve supply name earlier to prevent double-init

From: Christian Kohlschütter
Date: Fri Feb 17 2023 - 19:01:50 EST


On 18. Feb 2023, at 00:46, Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
>
> On Fri, Feb 17, 2023 at 3:33 PM Christian Kohlschütter
> <christian@xxxxxxxxxxxxxxxx> wrote:
>>
>> On 18. Feb 2023, at 00:22, Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
>>>
>>> On Thu, Aug 25, 2022 at 2:28 PM Christian Kohlschütter
>>> <christian@xxxxxxxxxxxxxxxx> wrote:
>>>>
>>>> Previously, an unresolved regulator supply reference upon calling
>>>> regulator_register on an always-on or boot-on regulator caused
>>>> set_machine_constraints to be called twice.
>>>>
>>>> This in turn may initialize the regulator twice, leading to voltage
>>>> glitches that are timing-dependent. A simple, unrelated configuration
>>>> change may be enough to hide this problem, only to be surfaced by
>>>> chance.
>>>
>>> In your case, can you elaborate which part of the constraints/init
>>> twice caused the issue?
>>>
>>> I'm trying to simplify some of the supply resolving code and I'm
>>> trying to not break your use case.
>>>
>>> -Saravana
>>
>> Here's a write-up of my use case, and how we got to the solution:
>> https://kohlschuetter.github.io/blog/posts/2022/10/28/linux-nanopi-r4s/
>
> I did read the write up before I sent my request. I'm asking for
> specifics on which functions in the set_machine_constraints() was
> causing the issue. And it's also a bit unclear to me if the issue was
> with having stuff called twice on the alway-on regulator or the
> supply.
>
> -Saravana

I'm afraid I cannot give a more detailed answer than what's in the write up and the previous discussion on this mailing list; I thought it's pretty detailed already.

However, it should be relatively straightforward to reproduce the issue.