Lines Matching refs:pci_dev

117 		struct pci_dev *pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);  in store_new_id()
225 struct pci_dev *dev) in pci_match_id()
255 struct pci_dev *dev) in pci_match_device()
286 struct pci_dev *dev;
293 struct pci_dev *pci_dev = ddi->dev; in local_pci_probe() local
295 struct device *dev = &pci_dev->dev; in local_pci_probe()
307 pci_dev->driver = pci_drv; in local_pci_probe()
308 rc = pci_drv->probe(pci_dev, ddi->id); in local_pci_probe()
312 pci_dev->driver = NULL; in local_pci_probe()
324 static int pci_call_probe(struct pci_driver *drv, struct pci_dev *dev, in pci_call_probe()
374 static int __pci_device_probe(struct pci_driver *drv, struct pci_dev *pci_dev) in __pci_device_probe() argument
379 if (!pci_dev->driver && drv->probe) { in __pci_device_probe()
382 id = pci_match_device(drv, pci_dev); in __pci_device_probe()
384 error = pci_call_probe(drv, pci_dev, id); in __pci_device_probe()
395 struct pci_dev *pci_dev; in pci_device_probe() local
398 pci_dev = to_pci_dev(dev); in pci_device_probe()
399 pci_dev_get(pci_dev); in pci_device_probe()
400 error = __pci_device_probe(drv, pci_dev); in pci_device_probe()
402 pci_dev_put(pci_dev); in pci_device_probe()
409 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_device_remove() local
410 struct pci_driver *drv = pci_dev->driver; in pci_device_remove()
415 drv->remove(pci_dev); in pci_device_remove()
418 pci_dev->driver = NULL; in pci_device_remove()
428 if (pci_dev->current_state == PCI_D0) in pci_device_remove()
429 pci_dev->current_state = PCI_UNKNOWN; in pci_device_remove()
440 pci_dev_put(pci_dev); in pci_device_remove()
446 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_device_shutdown() local
447 struct pci_driver *drv = pci_dev->driver; in pci_device_shutdown()
452 drv->shutdown(pci_dev); in pci_device_shutdown()
453 pci_msi_shutdown(pci_dev); in pci_device_shutdown()
454 pci_msix_shutdown(pci_dev); in pci_device_shutdown()
464 if (kexec_in_progress && (pci_dev->current_state <= PCI_D3hot)) in pci_device_shutdown()
465 pci_clear_master(pci_dev); in pci_device_shutdown()
477 static int pci_restore_standard_config(struct pci_dev *pci_dev) in pci_restore_standard_config() argument
479 pci_update_current_state(pci_dev, PCI_UNKNOWN); in pci_restore_standard_config()
481 if (pci_dev->current_state != PCI_D0) { in pci_restore_standard_config()
482 int error = pci_set_power_state(pci_dev, PCI_D0); in pci_restore_standard_config()
487 pci_restore_state(pci_dev); in pci_restore_standard_config()
495 static void pci_pm_default_resume_early(struct pci_dev *pci_dev) in pci_pm_default_resume_early() argument
497 pci_power_up(pci_dev); in pci_pm_default_resume_early()
498 pci_restore_state(pci_dev); in pci_pm_default_resume_early()
499 pci_fixup_device(pci_fixup_resume_early, pci_dev); in pci_pm_default_resume_early()
506 static void pci_pm_set_unknown_state(struct pci_dev *pci_dev) in pci_pm_set_unknown_state() argument
512 if (pci_dev->current_state == PCI_D0) in pci_pm_set_unknown_state()
513 pci_dev->current_state = PCI_UNKNOWN; in pci_pm_set_unknown_state()
520 static int pci_pm_reenable_device(struct pci_dev *pci_dev) in pci_pm_reenable_device() argument
525 retval = pci_reenable_device(pci_dev); in pci_pm_reenable_device()
530 if (pci_dev->is_busmaster) in pci_pm_reenable_device()
531 pci_set_master(pci_dev); in pci_pm_reenable_device()
538 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_suspend() local
539 struct pci_driver *drv = pci_dev->driver; in pci_legacy_suspend()
542 pci_power_t prev = pci_dev->current_state; in pci_legacy_suspend()
545 error = drv->suspend(pci_dev, state); in pci_legacy_suspend()
550 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_legacy_suspend()
551 && pci_dev->current_state != PCI_UNKNOWN) { in pci_legacy_suspend()
552 WARN_ONCE(pci_dev->current_state != prev, in pci_legacy_suspend()
558 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_legacy_suspend()
565 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_suspend_late() local
566 struct pci_driver *drv = pci_dev->driver; in pci_legacy_suspend_late()
569 pci_power_t prev = pci_dev->current_state; in pci_legacy_suspend_late()
572 error = drv->suspend_late(pci_dev, state); in pci_legacy_suspend_late()
577 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_legacy_suspend_late()
578 && pci_dev->current_state != PCI_UNKNOWN) { in pci_legacy_suspend_late()
579 WARN_ONCE(pci_dev->current_state != prev, in pci_legacy_suspend_late()
586 if (!pci_dev->state_saved) in pci_legacy_suspend_late()
587 pci_save_state(pci_dev); in pci_legacy_suspend_late()
589 pci_pm_set_unknown_state(pci_dev); in pci_legacy_suspend_late()
592 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_legacy_suspend_late()
599 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_resume_early() local
600 struct pci_driver *drv = pci_dev->driver; in pci_legacy_resume_early()
603 drv->resume_early(pci_dev) : 0; in pci_legacy_resume_early()
608 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_resume() local
609 struct pci_driver *drv = pci_dev->driver; in pci_legacy_resume()
611 pci_fixup_device(pci_fixup_resume, pci_dev); in pci_legacy_resume()
614 drv->resume(pci_dev) : pci_pm_reenable_device(pci_dev); in pci_legacy_resume()
619 static void pci_pm_default_resume(struct pci_dev *pci_dev) in pci_pm_default_resume() argument
621 pci_fixup_device(pci_fixup_resume, pci_dev); in pci_pm_default_resume()
623 if (!pci_has_subordinate(pci_dev)) in pci_pm_default_resume()
624 pci_enable_wake(pci_dev, PCI_D0, false); in pci_pm_default_resume()
627 static void pci_pm_default_suspend(struct pci_dev *pci_dev) in pci_pm_default_suspend() argument
630 if (!pci_has_subordinate(pci_dev)) in pci_pm_default_suspend()
631 pci_disable_enabled_device(pci_dev); in pci_pm_default_suspend()
634 static bool pci_has_legacy_pm_support(struct pci_dev *pci_dev) in pci_has_legacy_pm_support() argument
636 struct pci_driver *drv = pci_dev->driver; in pci_has_legacy_pm_support()
646 drv->name, pci_dev->vendor, pci_dev->device); in pci_has_legacy_pm_support()
683 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_suspend() local
686 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_suspend()
690 pci_pm_default_suspend(pci_dev); in pci_pm_suspend()
704 pci_dev->state_saved = false; in pci_pm_suspend()
706 pci_power_t prev = pci_dev->current_state; in pci_pm_suspend()
714 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_pm_suspend()
715 && pci_dev->current_state != PCI_UNKNOWN) { in pci_pm_suspend()
716 WARN_ONCE(pci_dev->current_state != prev, in pci_pm_suspend()
723 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_pm_suspend()
730 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_suspend_noirq() local
733 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_suspend_noirq()
737 pci_save_state(pci_dev); in pci_pm_suspend_noirq()
742 pci_power_t prev = pci_dev->current_state; in pci_pm_suspend_noirq()
750 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_pm_suspend_noirq()
751 && pci_dev->current_state != PCI_UNKNOWN) { in pci_pm_suspend_noirq()
752 WARN_ONCE(pci_dev->current_state != prev, in pci_pm_suspend_noirq()
759 if (!pci_dev->state_saved) { in pci_pm_suspend_noirq()
760 pci_save_state(pci_dev); in pci_pm_suspend_noirq()
761 if (!pci_has_subordinate(pci_dev)) in pci_pm_suspend_noirq()
762 pci_prepare_to_sleep(pci_dev); in pci_pm_suspend_noirq()
765 pci_pm_set_unknown_state(pci_dev); in pci_pm_suspend_noirq()
776 if (pci_dev->class == PCI_CLASS_SERIAL_USB_EHCI) in pci_pm_suspend_noirq()
777 pci_write_config_word(pci_dev, PCI_COMMAND, 0); in pci_pm_suspend_noirq()
780 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_pm_suspend_noirq()
787 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_resume_noirq() local
791 pci_pm_default_resume_early(pci_dev); in pci_pm_resume_noirq()
793 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_resume_noirq()
804 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_resume() local
812 if (pci_dev->state_saved) in pci_pm_resume()
813 pci_restore_standard_config(pci_dev); in pci_pm_resume()
815 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_resume()
818 pci_pm_default_resume(pci_dev); in pci_pm_resume()
824 pci_pm_reenable_device(pci_dev); in pci_pm_resume()
850 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_freeze() local
853 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_freeze()
857 pci_pm_default_suspend(pci_dev); in pci_pm_freeze()
869 pci_dev->state_saved = false; in pci_pm_freeze()
887 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_freeze_noirq() local
890 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_freeze_noirq()
902 if (!pci_dev->state_saved) in pci_pm_freeze_noirq()
903 pci_save_state(pci_dev); in pci_pm_freeze_noirq()
905 pci_pm_set_unknown_state(pci_dev); in pci_pm_freeze_noirq()
915 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_thaw_noirq() local
925 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_thaw_noirq()
928 pci_update_current_state(pci_dev, PCI_D0); in pci_pm_thaw_noirq()
938 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_thaw() local
948 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_thaw()
955 pci_pm_reenable_device(pci_dev); in pci_pm_thaw()
958 pci_dev->state_saved = false; in pci_pm_thaw()
965 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_poweroff() local
968 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_poweroff()
972 pci_pm_default_suspend(pci_dev); in pci_pm_poweroff()
979 pci_dev->state_saved = false; in pci_pm_poweroff()
990 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_pm_poweroff()
1000 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_poweroff_noirq() local
1007 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_pm_poweroff_noirq()
1020 if (!pci_dev->state_saved && !pci_has_subordinate(pci_dev)) in pci_pm_poweroff_noirq()
1021 pci_prepare_to_sleep(pci_dev); in pci_pm_poweroff_noirq()
1027 if (pci_dev->class == PCI_CLASS_SERIAL_USB_EHCI) in pci_pm_poweroff_noirq()
1028 pci_write_config_word(pci_dev, PCI_COMMAND, 0); in pci_pm_poweroff_noirq()
1030 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_pm_poweroff_noirq()
1040 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_restore_noirq() local
1050 pci_pm_default_resume_early(pci_dev); in pci_pm_restore_noirq()
1052 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_restore_noirq()
1063 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_restore() local
1077 if (pci_dev->state_saved) in pci_pm_restore()
1078 pci_restore_standard_config(pci_dev); in pci_pm_restore()
1080 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_restore()
1083 pci_pm_default_resume(pci_dev); in pci_pm_restore()
1089 pci_pm_reenable_device(pci_dev); in pci_pm_restore()
1112 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_runtime_suspend() local
1114 pci_power_t prev = pci_dev->current_state; in pci_pm_runtime_suspend()
1121 if (!pci_dev->driver) in pci_pm_runtime_suspend()
1127 pci_dev->state_saved = false; in pci_pm_runtime_suspend()
1128 pci_dev->no_d3cold = false; in pci_pm_runtime_suspend()
1133 if (!pci_dev->d3cold_allowed) in pci_pm_runtime_suspend()
1134 pci_dev->no_d3cold = true; in pci_pm_runtime_suspend()
1136 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_pm_runtime_suspend()
1138 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_pm_runtime_suspend()
1139 && pci_dev->current_state != PCI_UNKNOWN) { in pci_pm_runtime_suspend()
1140 WARN_ONCE(pci_dev->current_state != prev, in pci_pm_runtime_suspend()
1146 if (!pci_dev->state_saved) { in pci_pm_runtime_suspend()
1147 pci_save_state(pci_dev); in pci_pm_runtime_suspend()
1148 pci_finish_runtime_suspend(pci_dev); in pci_pm_runtime_suspend()
1157 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_runtime_resume() local
1164 if (!pci_dev->driver) in pci_pm_runtime_resume()
1170 pci_restore_standard_config(pci_dev); in pci_pm_runtime_resume()
1171 pci_fixup_device(pci_fixup_resume_early, pci_dev); in pci_pm_runtime_resume()
1172 __pci_enable_wake(pci_dev, PCI_D0, true, false); in pci_pm_runtime_resume()
1173 pci_fixup_device(pci_fixup_resume, pci_dev); in pci_pm_runtime_resume()
1177 pci_dev->runtime_d3cold = false; in pci_pm_runtime_resume()
1184 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_runtime_idle() local
1192 if (!pci_dev->driver) in pci_pm_runtime_idle()
1291 struct pci_driver *pci_dev_driver(const struct pci_dev *dev) in pci_dev_driver()
1316 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_bus_match() local
1320 if (!pci_dev->match_driver) in pci_bus_match()
1324 found_id = pci_match_device(pci_drv, pci_dev); in pci_bus_match()
1343 struct pci_dev *pci_dev_get(struct pci_dev *dev) in pci_dev_get()
1358 void pci_dev_put(struct pci_dev *dev) in pci_dev_put()
1367 struct pci_dev *pdev; in pci_uevent()