Re: [PATCH v2] regulator: arizona-ldo1: Use correct device to get enable GPIO

From: Linus Walleij
Date: Fri Jun 29 2018 - 04:06:09 EST


On Tue, Jun 19, 2018 at 5:10 PM Charles Keepax
<ckeepax@xxxxxxxxxxxxxxxxxxxxx> wrote:

> Currently the enable GPIO is being looked up on the regulator
> device itself but that does not have its own DT node, this causes
> the lookup to fail and the regulator not to get its GPIO. The DT
> node is shared across the whole MFD and as such the lookup needs
> to happen on that parent device. Moving the lookup to the parent
> device also means devres can no longer be used as the life time
> would attach to the wrong device.
>
> Additionally, the enable GPIO is active high so we should be passing
> GPIOD_OUT_LOW to ensure the regulator starts in its off state allowing
> the driver to enable it when it is ready.
>
> Fixes: e1739e86f0cb ("regulator: arizona-ldo1: Look up a descriptor and pass to the core")
> Reported-by: Matthias Reichl <hias@xxxxxxxxx>
> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>
> ---
>
> Changes since v1:
> - Pass GPIOD_OUT_LOW to gpiod_get_optional

Nice, thanks for fixing this!
Sorry for screwing it up :(

I wish I could be more careful, but without access to the
hardware it is sometimes pretty tricky not to break things
by mistake.

Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij