191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. From a95f03e51471dbdbafd3391991d867ac2358ed02 Mon Sep 17 00:00:00 2001
  2. From: Jonas Gorski <jogo@openwrt.org>
  3. Date: Sun, 23 Aug 2015 14:23:29 +0200
  4. Subject: [PATCH] usb: ehci-orion: fix probe for !GENERIC_PHY
  5. Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
  6. added support for optional phys, but devm_phy_optional_get returns
  7. -ENOSYS if GENERIC_PHY is not enabled.
  8. This causes probe failures, even when there are no phys specified:
  9. [ 1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38
  10. [ 1.449403] orion-ehci: probe of f1058000.usb failed with error -38
  11. Similar to dwc3, treat -ENOSYS as no phy.
  12. Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
  13. Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  14. ---
  15. drivers/usb/host/ehci-orion.c | 3 ++-
  16. 1 file changed, 2 insertions(+), 1 deletion(-)
  17. --- a/drivers/usb/host/ehci-orion.c
  18. +++ b/drivers/usb/host/ehci-orion.c
  19. @@ -226,7 +226,8 @@ static int ehci_orion_drv_probe(struct p
  20. priv->phy = devm_phy_optional_get(&pdev->dev, "usb");
  21. if (IS_ERR(priv->phy)) {
  22. err = PTR_ERR(priv->phy);
  23. - goto err_phy_get;
  24. + if (err != -ENOSYS)
  25. + goto err_phy_get;
  26. } else {
  27. err = phy_init(priv->phy);
  28. if (err)