[PATCH] regulator: fix: Move code to enable gpio regulator to pre_probe from ofdata_to_platdata

Tom Rini trini at konsulko.com
Tue Feb 11 13:33:17 CET 2020


On Sat, Jan 25, 2020 at 09:00:58AM +0100, Lukasz Majewski wrote:

> The commit e8e9715df2d4 ("regulator: fixed: Modify enable-active-high behavior")
> fixed the regulator driver behavior when 'enable-active-high' is defined.
> Unfortunately, this patch used dm_regulator_platdata()'s "boot_on" member
> to set GPIOD_IS_OUT_ACTIVE flag and enable the regulator.
> 
> The issue here is that regulator_common_ofdata_to_platdata() is called
> _before_ regulator_pre_probe() function in which the 'regulator-boot-on'
> property is asserted.
> 
> As a result the GPIOD_IS_OUT_ACTIVE flag is not set and gpio_request_by_name()
> called in the former function is not enabling the regulator.
> This is problematic for e.g. i.MX ethernet driver, which then tries to
> perform initialization without power (and fails).
> 
> The solution here is to explicitly enable regulator in regulator_pre_probe()
> callback only when 'regulator-boot-on' property is present in device tree.
> The GPIOD_IS_OUT_ACTIVE flag is not set at all, but relevant gpio is
> requested.
> 
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
> Reviewed-by: Patrice Chotard <patrice.chotard at st.com>
> Tested-by: Patrice Chotard <patrice.chotard at st.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200211/69408238/attachment.sig>


More information about the U-Boot mailing list