Lines Matching full:hcd
30 static int xhci_plat_setup(struct usb_hcd *hcd);
31 static int xhci_plat_start(struct usb_hcd *hcd);
39 static void xhci_priv_plat_start(struct usb_hcd *hcd) in xhci_priv_plat_start() argument
41 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_plat_start()
44 priv->plat_start(hcd); in xhci_priv_plat_start()
47 static int xhci_priv_init_quirk(struct usb_hcd *hcd) in xhci_priv_init_quirk() argument
49 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_init_quirk()
54 return priv->init_quirk(hcd); in xhci_priv_init_quirk()
57 static int xhci_priv_suspend_quirk(struct usb_hcd *hcd) in xhci_priv_suspend_quirk() argument
59 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_suspend_quirk()
64 return priv->suspend_quirk(hcd); in xhci_priv_suspend_quirk()
67 static int xhci_priv_resume_quirk(struct usb_hcd *hcd) in xhci_priv_resume_quirk() argument
69 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_resume_quirk()
74 return priv->resume_quirk(hcd); in xhci_priv_resume_quirk()
85 static int xhci_plat_setup(struct usb_hcd *hcd) in xhci_plat_setup() argument
90 ret = xhci_priv_init_quirk(hcd); in xhci_plat_setup()
94 return xhci_gen_setup(hcd, xhci_plat_quirks); in xhci_plat_setup()
97 static int xhci_plat_start(struct usb_hcd *hcd) in xhci_plat_start() argument
99 xhci_priv_plat_start(hcd); in xhci_plat_start()
100 return xhci_run(hcd); in xhci_plat_start()
151 struct usb_hcd *hcd, *usb3_hcd; in xhci_plat_probe() local
177 hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, in xhci_plat_probe()
179 if (!hcd) { in xhci_plat_probe()
184 hcd->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in xhci_plat_probe()
185 if (IS_ERR(hcd->regs)) { in xhci_plat_probe()
186 ret = PTR_ERR(hcd->regs); in xhci_plat_probe()
190 hcd->rsrc_start = res->start; in xhci_plat_probe()
191 hcd->rsrc_len = resource_size(res); in xhci_plat_probe()
193 xhci = hcd_to_xhci(hcd); in xhci_plat_probe()
232 priv = hcd_to_xhci_priv(hcd); in xhci_plat_probe()
239 xhci->main_hcd = hcd; in xhci_plat_probe()
278 hcd->usb_phy = devm_usb_get_phy_by_phandle(sysdev, "usb-phy", 0); in xhci_plat_probe()
279 if (IS_ERR(hcd->usb_phy)) { in xhci_plat_probe()
280 ret = PTR_ERR(hcd->usb_phy); in xhci_plat_probe()
283 hcd->usb_phy = NULL; in xhci_plat_probe()
285 ret = usb_phy_init(hcd->usb_phy); in xhci_plat_probe()
291 hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); in xhci_plat_probe()
295 hcd->skip_phy_initialization = 1; in xhci_plat_probe()
300 ret = usb_add_hcd(hcd, irq, IRQF_SHARED); in xhci_plat_probe()
306 dev_name(&pdev->dev), hcd); in xhci_plat_probe()
325 xhci->shared_hcd->tpl_support = hcd->tpl_support; in xhci_plat_probe()
333 xhci->shared_hcd->rsrc_start = hcd->rsrc_start; in xhci_plat_probe()
334 xhci->shared_hcd->rsrc_len = hcd->rsrc_len; in xhci_plat_probe()
356 usb_remove_hcd(hcd); in xhci_plat_probe()
359 usb_phy_shutdown(hcd->usb_phy); in xhci_plat_probe()
371 usb_put_hcd(hcd); in xhci_plat_probe()
422 struct usb_hcd *hcd = platform_get_drvdata(dev); in xhci_plat_remove() local
423 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_remove()
436 usb_phy_shutdown(hcd->usb_phy); in xhci_plat_remove()
438 usb_remove_hcd(hcd); in xhci_plat_remove()
446 usb_put_hcd(hcd); in xhci_plat_remove()
456 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_suspend() local
457 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_suspend()
463 ret = xhci_priv_suspend_quirk(hcd); in xhci_plat_suspend()
484 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_resume_common() local
485 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_resume_common()
500 ret = xhci_priv_resume_quirk(hcd); in xhci_plat_resume_common()
535 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_runtime_suspend() local
536 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_runtime_suspend()
539 ret = xhci_priv_suspend_quirk(hcd); in xhci_plat_runtime_suspend()
548 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_runtime_resume() local
549 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_runtime_resume()
583 .name = "xhci-hcd",
589 MODULE_ALIAS("platform:xhci-hcd");