Lines Matching refs:hcd

10 #include <linux/usb/hcd.h>
41 typedef void (*companion_fn)(struct pci_dev *pdev, struct usb_hcd *hcd,
45 static void for_each_companion(struct pci_dev *pdev, struct usb_hcd *hcd,
74 fn(pdev, hcd, companion, companion_hcd);
84 static void ehci_pre_add(struct pci_dev *pdev, struct usb_hcd *hcd,
101 static void ehci_post_add(struct pci_dev *pdev, struct usb_hcd *hcd,
110 companion_hcd->self.hs_companion = &hcd->self;
122 static void non_ehci_add(struct pci_dev *pdev, struct usb_hcd *hcd,
128 hcd->self.hs_companion = &companion_hcd->self;
133 static void ehci_remove(struct pci_dev *pdev, struct usb_hcd *hcd,
143 static void ehci_wait_for_companions(struct pci_dev *pdev, struct usb_hcd *hcd,
174 struct usb_hcd *hcd;
189 * make sure irq setup is not touched for xhci in generic hcd code
203 hcd = usb_create_hcd(driver, &dev->dev, pci_name(dev));
204 if (!hcd) {
209 hcd->amd_resume_bug = usb_hcd_amd_resume_bug(dev, driver);
213 hcd->rsrc_start = pci_resource_start(dev, 0);
214 hcd->rsrc_len = pci_resource_len(dev, 0);
215 if (!devm_request_mem_region(&dev->dev, hcd->rsrc_start,
216 hcd->rsrc_len, driver->description)) {
221 hcd->regs = devm_ioremap(&dev->dev, hcd->rsrc_start,
222 hcd->rsrc_len);
223 if (hcd->regs == NULL) {
238 hcd->rsrc_start = pci_resource_start(dev, region);
239 hcd->rsrc_len = pci_resource_len(dev, region);
240 if (devm_request_region(&dev->dev, hcd->rsrc_start,
241 hcd->rsrc_len, driver->description))
256 dev_set_drvdata(&dev->dev, hcd);
257 for_each_companion(dev, hcd, ehci_pre_add);
258 retval = usb_add_hcd(hcd, hcd_irq, IRQF_SHARED);
261 for_each_companion(dev, hcd, ehci_post_add);
265 dev_set_drvdata(&dev->dev, hcd);
266 retval = usb_add_hcd(hcd, hcd_irq, IRQF_SHARED);
270 for_each_companion(dev, hcd, non_ehci_add);
276 device_wakeup_enable(hcd->self.controller);
283 usb_put_hcd(hcd);
312 struct usb_hcd *hcd;
315 hcd = pci_get_drvdata(dev);
316 if (!hcd)
319 hcd_driver_flags = hcd->driver->flags;
329 usb_hcd_irq(0, hcd);
335 for_each_companion(dev, hcd, ehci_remove);
336 usb_remove_hcd(hcd);
342 hcd->self.hs_companion = NULL;
343 usb_remove_hcd(hcd);
347 usb_put_hcd(hcd);
360 struct usb_hcd *hcd;
362 hcd = pci_get_drvdata(dev);
363 if (!hcd)
366 if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) &&
367 hcd->driver->shutdown) {
368 hcd->driver->shutdown(hcd);
369 if (usb_hcd_is_primary_hcd(hcd) && hcd->irq > 0)
370 free_irq(hcd->irq, hcd);
401 struct usb_hcd *hcd = dev_get_drvdata(dev);
403 if (HCD_RH_RUNNING(hcd)) {
407 if (hcd->shared_hcd) {
408 hcd = hcd->shared_hcd;
409 if (HCD_RH_RUNNING(hcd)) {
420 struct usb_hcd *hcd = pci_get_drvdata(pci_dev);
435 if (hcd->driver->pci_suspend && !HCD_DEAD(hcd)) {
439 if (do_wakeup && HCD_WAKEUP_PENDING(hcd))
441 if (do_wakeup && hcd->shared_hcd &&
442 HCD_WAKEUP_PENDING(hcd->shared_hcd))
444 retval = hcd->driver->pci_suspend(hcd, do_wakeup);
445 suspend_report_result(dev, hcd->driver->pci_suspend, retval);
448 if ((retval == 0 && do_wakeup && HCD_WAKEUP_PENDING(hcd)) ||
449 (retval == 0 && do_wakeup && hcd->shared_hcd &&
450 HCD_WAKEUP_PENDING(hcd->shared_hcd))) {
451 if (hcd->driver->pci_resume)
452 hcd->driver->pci_resume(hcd, msg);
463 if (!hcd->msix_enabled)
478 struct usb_hcd *hcd = pci_get_drvdata(pci_dev);
481 if (HCD_RH_RUNNING(hcd) ||
482 (hcd->shared_hcd &&
483 HCD_RH_RUNNING(hcd->shared_hcd))) {
496 if (hcd->driver->pci_resume && !HCD_DEAD(hcd)) {
504 for_each_companion(pci_dev, hcd,
507 retval = hcd->driver->pci_resume(hcd, msg);
510 usb_hc_died(hcd);
526 struct usb_hcd *hcd = pci_get_drvdata(pci_dev);
539 if (HCD_DEAD(hcd))
565 struct usb_hcd *hcd = pci_get_drvdata(pci_dev);
567 if (hcd->driver->pci_poweroff_late && !HCD_DEAD(hcd))
568 return hcd->driver->pci_poweroff_late(hcd, device_may_wakeup(dev));