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()
148 struct usb_hcd *hcd, *usb3_hcd; in xhci_plat_probe() local
174 hcd = __usb_create_hcd(driver, sysdev, &pdev->dev, in xhci_plat_probe()
176 if (!hcd) { in xhci_plat_probe()
181 hcd->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in xhci_plat_probe()
182 if (IS_ERR(hcd->regs)) { in xhci_plat_probe()
183 ret = PTR_ERR(hcd->regs); in xhci_plat_probe()
187 hcd->rsrc_start = res->start; in xhci_plat_probe()
188 hcd->rsrc_len = resource_size(res); in xhci_plat_probe()
190 xhci = hcd_to_xhci(hcd); in xhci_plat_probe()
229 priv = hcd_to_xhci_priv(hcd); in xhci_plat_probe()
236 xhci->main_hcd = hcd; in xhci_plat_probe()
266 hcd->usb_phy = devm_usb_get_phy_by_phandle(sysdev, "usb-phy", 0); in xhci_plat_probe()
267 if (IS_ERR(hcd->usb_phy)) { in xhci_plat_probe()
268 ret = PTR_ERR(hcd->usb_phy); in xhci_plat_probe()
271 hcd->usb_phy = NULL; in xhci_plat_probe()
273 ret = usb_phy_init(hcd->usb_phy); in xhci_plat_probe()
279 hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); in xhci_plat_probe()
282 hcd->skip_phy_initialization = 1; in xhci_plat_probe()
287 ret = usb_add_hcd(hcd, irq, IRQF_SHARED); in xhci_plat_probe()
293 dev_name(&pdev->dev), hcd); in xhci_plat_probe()
312 xhci->shared_hcd->tpl_support = hcd->tpl_support; in xhci_plat_probe()
341 usb_remove_hcd(hcd); in xhci_plat_probe()
344 usb_phy_shutdown(hcd->usb_phy); in xhci_plat_probe()
356 usb_put_hcd(hcd); in xhci_plat_probe()
407 struct usb_hcd *hcd = platform_get_drvdata(dev); in xhci_plat_remove() local
408 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_remove()
421 usb_phy_shutdown(hcd->usb_phy); in xhci_plat_remove()
423 usb_remove_hcd(hcd); in xhci_plat_remove()
431 usb_put_hcd(hcd); in xhci_plat_remove()
441 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_suspend() local
442 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_suspend()
448 ret = xhci_priv_suspend_quirk(hcd); in xhci_plat_suspend()
469 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_resume_common() local
470 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_resume_common()
485 ret = xhci_priv_resume_quirk(hcd); in xhci_plat_resume_common()
520 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_runtime_suspend() local
521 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_runtime_suspend()
524 ret = xhci_priv_suspend_quirk(hcd); in xhci_plat_runtime_suspend()
533 struct usb_hcd *hcd = dev_get_drvdata(dev); in xhci_plat_runtime_resume() local
534 struct xhci_hcd *xhci = hcd_to_xhci(hcd); in xhci_plat_runtime_resume()
567 .name = "xhci-hcd",
573 MODULE_ALIAS("platform:xhci-hcd");