[PATCH 1/2] usb: ehci-mx5: Use regulator_set_enable_if_allowed

With the commit 4fcba5d556b4 ("regulator: implement basic reference counter") the return value of regulator_set_enable may be EALREADY or EBUSY for fixed/gpio regulators.
Change to use the more relaxed regulator_set_enable_if_allowed to continue if regulator already was enabled or disabled.
Based on 335799b7252a ("usb: dwc2: Use regulator_set_enable_if_allowed")
Signed-off-by: Marek Vasut marex@denx.de --- Cc: Alice Guo alice.guo@nxp.com Cc: Fabio Estevam festevam@gmail.com Cc: Mathieu Othacehe othacehe@gnu.org Cc: Mattijs Korpershoek mkorpershoek@baylibre.com Cc: Peng Fan peng.fan@nxp.com Cc: Tom Rini trini@konsulko.com Cc: u-boot@lists.denx.de --- drivers/usb/host/ehci-mx5.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/ehci-mx5.c b/drivers/usb/host/ehci-mx5.c index d8f521befe1..1392d29bc13 100644 --- a/drivers/usb/host/ehci-mx5.c +++ b/drivers/usb/host/ehci-mx5.c @@ -287,9 +287,9 @@ static int ehci_usb_probe(struct udevice *dev) debug("%s: No vbus supply\n", dev->name);
if (!ret && priv->vbus_supply) { - ret = regulator_set_enable(priv->vbus_supply, - (type == USB_INIT_DEVICE) ? - false : true); + ret = regulator_set_enable_if_allowed(priv->vbus_supply, + (type == USB_INIT_DEVICE) ? + false : true); if (ret) { puts("Error enabling VBUS supply\n"); return ret;

With the commit 4fcba5d556b4 ("regulator: implement basic reference counter") the return value of regulator_set_enable may be EALREADY or EBUSY for fixed/gpio regulators.
Change to use the more relaxed regulator_set_enable_if_allowed to continue if regulator already was enabled or disabled.
Based on 335799b7252a ("usb: dwc2: Use regulator_set_enable_if_allowed")
Signed-off-by: Marek Vasut marex@denx.de --- Cc: Alice Guo alice.guo@nxp.com Cc: Fabio Estevam festevam@gmail.com Cc: Mathieu Othacehe othacehe@gnu.org Cc: Mattijs Korpershoek mkorpershoek@baylibre.com Cc: Peng Fan peng.fan@nxp.com Cc: Tom Rini trini@konsulko.com Cc: u-boot@lists.denx.de --- drivers/usb/host/ehci-mx6.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c index a93fa5d5455..a8748cef7ad 100644 --- a/drivers/usb/host/ehci-mx6.c +++ b/drivers/usb/host/ehci-mx6.c @@ -479,9 +479,9 @@ static int mx6_init_after_reset(struct ehci_ctrl *dev) #if CONFIG_IS_ENABLED(DM_REGULATOR) if (priv->vbus_supply) { int ret; - ret = regulator_set_enable(priv->vbus_supply, - (type == USB_INIT_DEVICE) ? - false : true); + ret = regulator_set_enable_if_allowed(priv->vbus_supply, + (type == USB_INIT_DEVICE) ? + false : true); if (ret && ret != -ENOSYS) { printf("Error enabling VBUS supply (ret=%i)\n", ret); return ret;

On Tue, Jan 7, 2025 at 7:56 PM Marek Vasut marex@denx.de wrote:
With the commit 4fcba5d556b4 ("regulator: implement basic reference counter") the return value of regulator_set_enable may be EALREADY or EBUSY for fixed/gpio regulators.
Change to use the more relaxed regulator_set_enable_if_allowed to continue if regulator already was enabled or disabled.
Based on 335799b7252a ("usb: dwc2: Use regulator_set_enable_if_allowed")
Signed-off-by: Marek Vasut marex@denx.de
Reviewed-by: Fabio Estevam festevam@gmail.com

Hi Marek,
Thank you for the patch.
On mar., janv. 07, 2025 at 23:56, Marek Vasut marex@denx.de wrote:
With the commit 4fcba5d556b4 ("regulator: implement basic reference counter") the return value of regulator_set_enable may be EALREADY or EBUSY for fixed/gpio regulators.
Change to use the more relaxed regulator_set_enable_if_allowed to continue if regulator already was enabled or disabled.
Based on 335799b7252a ("usb: dwc2: Use regulator_set_enable_if_allowed")
Signed-off-by: Marek Vasut marex@denx.de
Reviewed-by: Mattijs Korpershoek mkorpershoek@baylibre.com
Cc: Alice Guo alice.guo@nxp.com Cc: Fabio Estevam festevam@gmail.com Cc: Mathieu Othacehe othacehe@gnu.org Cc: Mattijs Korpershoek mkorpershoek@baylibre.com Cc: Peng Fan peng.fan@nxp.com Cc: Tom Rini trini@konsulko.com Cc: u-boot@lists.denx.de
drivers/usb/host/ehci-mx6.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c index a93fa5d5455..a8748cef7ad 100644 --- a/drivers/usb/host/ehci-mx6.c +++ b/drivers/usb/host/ehci-mx6.c @@ -479,9 +479,9 @@ static int mx6_init_after_reset(struct ehci_ctrl *dev) #if CONFIG_IS_ENABLED(DM_REGULATOR) if (priv->vbus_supply) { int ret;
ret = regulator_set_enable(priv->vbus_supply,
(type == USB_INIT_DEVICE) ?
false : true);
ret = regulator_set_enable_if_allowed(priv->vbus_supply,
(type == USB_INIT_DEVICE) ?
if (ret && ret != -ENOSYS) { printf("Error enabling VBUS supply (ret=%i)\n", ret); return ret;false : true);
-- 2.45.2

On Tue, Jan 7, 2025 at 7:56 PM Marek Vasut marex@denx.de wrote:
With the commit 4fcba5d556b4 ("regulator: implement basic reference counter") the return value of regulator_set_enable may be EALREADY or EBUSY for fixed/gpio regulators.
Change to use the more relaxed regulator_set_enable_if_allowed to continue if regulator already was enabled or disabled.
Based on 335799b7252a ("usb: dwc2: Use regulator_set_enable_if_allowed")
Signed-off-by: Marek Vasut marex@denx.de
Reviewed-by: Fabio Estevam festevam@gmail.com

Hi Marek,
Thank you for the patch.
On mar., janv. 07, 2025 at 23:56, Marek Vasut marex@denx.de wrote:
With the commit 4fcba5d556b4 ("regulator: implement basic reference counter") the return value of regulator_set_enable may be EALREADY or EBUSY for fixed/gpio regulators.
Change to use the more relaxed regulator_set_enable_if_allowed to continue if regulator already was enabled or disabled.
Based on 335799b7252a ("usb: dwc2: Use regulator_set_enable_if_allowed")
Signed-off-by: Marek Vasut marex@denx.de
Reviewed-by: Mattijs Korpershoek mkorpershoek@baylibre.com
Cc: Alice Guo alice.guo@nxp.com Cc: Fabio Estevam festevam@gmail.com Cc: Mathieu Othacehe othacehe@gnu.org Cc: Mattijs Korpershoek mkorpershoek@baylibre.com Cc: Peng Fan peng.fan@nxp.com Cc: Tom Rini trini@konsulko.com Cc: u-boot@lists.denx.de
drivers/usb/host/ehci-mx5.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/ehci-mx5.c b/drivers/usb/host/ehci-mx5.c index d8f521befe1..1392d29bc13 100644 --- a/drivers/usb/host/ehci-mx5.c +++ b/drivers/usb/host/ehci-mx5.c @@ -287,9 +287,9 @@ static int ehci_usb_probe(struct udevice *dev) debug("%s: No vbus supply\n", dev->name);
if (!ret && priv->vbus_supply) {
ret = regulator_set_enable(priv->vbus_supply,
(type == USB_INIT_DEVICE) ?
false : true);
ret = regulator_set_enable_if_allowed(priv->vbus_supply,
(type == USB_INIT_DEVICE) ?
if (ret) { puts("Error enabling VBUS supply\n"); return ret;false : true);
-- 2.45.2
participants (3)
-
Fabio Estevam
-
Marek Vasut
-
Mattijs Korpershoek