From caa12b70cc664901d9509fadbe5f703b10bd5ca0 Mon Sep 17 00:00:00 2001 From: William Wu Date: Tue, 21 Feb 2017 17:37:58 +0800 Subject: [PATCH] usb: host: xhci-plat: get the usb3 phy for shared_hcd This patch tries to get the USB3 PHY using, and associates the XHCI shared_hcd device with it. With this patch, the USB HUB core driver can do USB PHY operations base on USB PHY framework, e.g. call usb_phy_ notify_connect() or usb_phy_notify_disconnect() to notify USB PHY driver to do soft connect or soft disconnect. Change-Id: I3b51181b840a68ae477b764013446f49dbf7ca70 Signed-off-by: William Wu --- drivers/usb/host/xhci-plat.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 9b03de54ce05..256df57c9570 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -311,6 +311,15 @@ static int xhci_plat_probe(struct platform_device *pdev) hcd->skip_phy_initialization = 1; } + xhci->shared_hcd->usb_phy = devm_usb_get_phy(sysdev, + 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; + } + ret = usb_add_hcd(hcd, irq, IRQF_SHARED); if (ret) goto disable_usb_phy;