From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Tue, 11 Feb 2020 07:33:17 -0500 Subject: [PATCH] regulator: fix: Move code to enable gpio regulator to pre_probe from ofdata_to_platdata In-Reply-To: <20200125080058.956-1-lukma@denx.de> References: <20200125080058.956-1-lukma@denx.de> Message-ID: <20200211123317.GA13379@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > Reviewed-by: Patrice Chotard > Tested-by: Patrice Chotard 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: