mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
usb: ehci: mxs: Use regulator_set_enable_if_allowed()
Since commit 4fcba5d556
("regulator: implement basic reference
counter") the return value of regulator_set_enable() may be EALREADY or
EBUSY for fixed/GPIO regulators.
Switch to using the more relaxed regulator_set_enable_if_allowed() to
continue if regulator already was enabled or disabled.
This fixes the following error when running the 'ums' command:
=> ums 0 mmc 0
UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0xece000
Error enabling VBUS supply
g_dnl_register: failed!, error: -114
g_dnl_register failed
Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
2bcfae22d9
commit
7478c84f3d
1 changed files with 4 additions and 4 deletions
|
@ -236,9 +236,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;
|
||||
|
@ -265,7 +265,7 @@ static int ehci_usb_remove(struct udevice *dev)
|
|||
|
||||
#if CONFIG_IS_ENABLED(DM_REGULATOR)
|
||||
if (priv->vbus_supply) {
|
||||
ret = regulator_set_enable(priv->vbus_supply, false);
|
||||
ret = regulator_set_enable_if_allowed(priv->vbus_supply, false);
|
||||
if (ret) {
|
||||
puts("Error disabling VBUS supply\n");
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue