usb: ehci-mx6: Handle fixed regulators correctly
authorMarek Vasut <marex@denx.de>
Thu, 21 May 2020 21:32:23 +0000 (23:32 +0200)
committerMarek Vasut <marex@denx.de>
Fri, 29 May 2020 17:18:55 +0000 (19:18 +0200)
The regulator-fixed would return -ENOSYS when enabled/disabled,
because this operation is not supported, but this is not an error
e.g. on systems where the VBUS cannot be controlled, so if this
is the error code reported by the regulator core, consider it a
success and continue.

Signed-off-by: Marek Vasut <marex@denx.de>
drivers/usb/host/ehci-mx6.c

index 24f8ad7..470eddd 100644 (file)
@@ -447,7 +447,7 @@ static int mx6_init_after_reset(struct ehci_ctrl *dev)
                ret = regulator_set_enable(priv->vbus_supply,
                                           (type == USB_INIT_DEVICE) ?
                                           false : true);
-               if (ret) {
+               if (ret && ret != -ENOSYS) {
                        puts("Error enabling VBUS supply\n");
                        return ret;
                }
@@ -614,7 +614,7 @@ static int ehci_usb_probe(struct udevice *dev)
                ret = regulator_set_enable(priv->vbus_supply,
                                           (type == USB_INIT_DEVICE) ?
                                           false : true);
-               if (ret) {
+               if (ret && ret != -ENOSYS) {
                        puts("Error enabling VBUS supply\n");
                        return ret;
                }