On Tue, Jun 19, 2018 at 5:10 PM Charles Keepax <ckee...@opensource.cirrus.com> 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 <h...@horus.com> > Signed-off-by: Charles Keepax <ckee...@opensource.cirrus.com> > --- > > 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.wall...@linaro.org> Yours, Linus Walleij