diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index fe7de8a58ef5..0f50c1cdea5a 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -175,6 +175,15 @@ static int xhci_plat_probe(struct platform_device *pdev) if (pdata && pdata->usb3_disable_autosuspend) xhci->quirks |= XHCI_DIS_AUTOSUSPEND; + xhci->shared_hcd->usb_phy = devm_usb_get_phy(&pdev->dev, + USB_PHY_TYPE_USB3); + if (IS_ERR(xhci->shared_hcd->usb_phy)) { + ret = PTR_ERR(xhci->shared_hcd->usb_phy); + if (ret == -EPROBE_DEFER) + goto put_usb3_hcd; + xhci->shared_hcd->usb_phy = NULL; + } + hcd->usb_phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0); if (IS_ERR(hcd->usb_phy)) { ret = PTR_ERR(hcd->usb_phy);