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_plat_setup(struct usb_hcd *hcd) in xhci_priv_plat_setup() argument
49 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_plat_setup()
54 return priv->plat_setup(hcd); in xhci_priv_plat_setup()
57 static int xhci_priv_init_quirk(struct usb_hcd *hcd) in xhci_priv_init_quirk() argument
59 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_init_quirk()
64 return priv->init_quirk(hcd); in xhci_priv_init_quirk()
67 static int xhci_priv_suspend_quirk(struct usb_hcd *hcd) in xhci_priv_suspend_quirk() argument
69 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_suspend_quirk()
74 return priv->suspend_quirk(hcd); in xhci_priv_suspend_quirk()
77 static int xhci_priv_resume_quirk(struct usb_hcd *hcd) in xhci_priv_resume_quirk() argument
79 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_resume_quirk()
84 return priv->resume_quirk(hcd); in xhci_priv_resume_quirk()
100 static int xhci_plat_setup(struct usb_hcd *hcd) in xhci_plat_setup() argument
105 ret = xhci_priv_init_quirk(hcd); in xhci_plat_setup()
109 return xhci_gen_setup(hcd, xhci_plat_quirks); in xhci_plat_setup()
112 static int xhci_plat_start(struct usb_hcd *hcd) in xhci_plat_start() argument
114 xhci_priv_plat_start(hcd); in xhci_plat_start()
115 return xhci_run(hcd); in xhci_plat_start()
231 struct usb_hcd *hcd; in xhci_plat_probe() local
285 hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, in xhci_plat_probe()
287 if (!hcd) { in xhci_plat_probe()
292 hcd->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in xhci_plat_probe()
293 if (IS_ERR(hcd->regs)) { in xhci_plat_probe()
294 ret = PTR_ERR(hcd->regs); in xhci_plat_probe()
298 hcd->rsrc_start = res->start; in xhci_plat_probe()
299 hcd->rsrc_len = resource_size(res); in xhci_plat_probe()
301 xhci = hcd_to_xhci(hcd); in xhci_plat_probe()
333 priv = hcd_to_xhci_priv(hcd); in xhci_plat_probe()
340 xhci->main_hcd = hcd; in xhci_plat_probe()
342 dev_name(&pdev->dev), hcd); in xhci_plat_probe()
374 hcd->usb_phy = devm_usb_get_phy_by_phandle(sysdev, "usb-phy", 0); in xhci_plat_probe()
375 if (IS_ERR(hcd->usb_phy)) { in xhci_plat_probe()
376 ret = PTR_ERR(hcd->usb_phy); in xhci_plat_probe()
379 hcd->usb_phy = NULL; in xhci_plat_probe()
381 ret = usb_phy_init(hcd->usb_phy); in xhci_plat_probe()
390 hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); in xhci_plat_probe()
391 xhci->shared_hcd->tpl_support = hcd->tpl_support; in xhci_plat_probe()
394 ret = xhci_priv_plat_setup(hcd); in xhci_plat_probe()
400 hcd->skip_phy_initialization = 1; in xhci_plat_probe()
405 ret = usb_add_hcd(hcd, irq, IRQF_SHARED); in xhci_plat_probe()
429 usb_remove_hcd(hcd); in xhci_plat_probe()
432 usb_phy_shutdown(hcd->usb_phy); in xhci_plat_probe()
444 usb_put_hcd(hcd); in xhci_plat_probe()
455 struct usb_hcd *hcd = platform_get_drvdata(dev); in xhci_plat_remove() local
456 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_remove()
466 usb_phy_shutdown(hcd->usb_phy); in xhci_plat_remove()
468 usb_remove_hcd(hcd); in xhci_plat_remove()
475 usb_put_hcd(hcd); in xhci_plat_remove()
486 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_suspend() local
487 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_suspend()
493 ret = xhci_priv_suspend_quirk(hcd); in xhci_plat_suspend()
514 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_resume() local
515 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_resume()
523 ret = xhci_priv_resume_quirk(hcd); in xhci_plat_resume()
540 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_runtime_suspend() local
541 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_runtime_suspend()
544 ret = xhci_priv_suspend_quirk(hcd); in xhci_plat_runtime_suspend()
553 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_runtime_resume() local
554 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_runtime_resume()
581 .name = "xhci-hcd",
587 MODULE_ALIAS("platform:xhci-hcd");