From: Jaehoon Chung Date: Wed, 1 Nov 2023 10:55:05 +0000 (+0900) Subject: usb: dwc3-meson-g12a: Use regulator_set_enable_if_allowed X-Git-Tag: accepted/tizen/unified/20231106.171643~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=334ea44802f5f3dab0450248887283d8fef1749d;p=platform%2Fkernel%2Fu-boot.git usb: dwc3-meson-g12a: Use regulator_set_enable_if_allowed Some meson targets are using a fixed regulator about usb. It's always returning to EALREADY, so driver doesn't init fine. To prevent this problem, use the regulator_set_enable_if_allowed instead of regulator_set_enable. Fixes: 4fcba5d556b ("regulator: implement basic reference counter") Change-Id: I39dea7b3a36dc2ba5c9c2d3487142e7e2fbe0f16 Signed-off-by: Jaehoon Chung --- diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c index c62e42de73..dae20ef232 100644 --- a/drivers/usb/dwc3/dwc3-meson-g12a.c +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c @@ -276,7 +276,7 @@ int dwc3_meson_g12a_force_mode(struct udevice *dev, enum usb_dr_mode mode) #if CONFIG_IS_ENABLED(DM_REGULATOR) if (priv->vbus_supply) { - int ret = regulator_set_enable(priv->vbus_supply, + int ret = regulator_set_enable_if_allowed(priv->vbus_supply, (mode == USB_DR_MODE_PERIPHERAL)); if (ret) return ret; @@ -386,7 +386,7 @@ static int dwc3_meson_g12a_probe(struct udevice *dev) } if (priv->vbus_supply) { - ret = regulator_set_enable(priv->vbus_supply, true); + ret = regulator_set_enable_if_allowed(priv->vbus_supply, true); if (ret) return ret; }