Lines Matching refs:pci_dev

117 		struct pci_dev *pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);  in store_new_id()
223 struct pci_dev *dev) in pci_match_id()
253 struct pci_dev *dev) in pci_match_device()
284 struct pci_dev *dev;
291 struct pci_dev *pci_dev = ddi->dev; in local_pci_probe() local
293 struct device *dev = &pci_dev->dev; in local_pci_probe()
306 pci_dev->driver = pci_drv; in local_pci_probe()
307 rc = pci_drv->probe(pci_dev, ddi->id); in local_pci_probe()
311 pci_dev->driver = NULL; in local_pci_probe()
323 static int pci_call_probe(struct pci_driver *drv, struct pci_dev *dev, in pci_call_probe()
373 static int __pci_device_probe(struct pci_driver *drv, struct pci_dev *pci_dev) in __pci_device_probe() argument
378 if (!pci_dev->driver && drv->probe) { in __pci_device_probe()
381 id = pci_match_device(drv, pci_dev); in __pci_device_probe()
383 error = pci_call_probe(drv, pci_dev, id); in __pci_device_probe()
390 int __weak pcibios_alloc_irq(struct pci_dev *dev) in pcibios_alloc_irq()
395 void __weak pcibios_free_irq(struct pci_dev *dev) in pcibios_free_irq()
402 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_device_probe() local
405 error = pcibios_alloc_irq(pci_dev); in pci_device_probe()
409 pci_dev_get(pci_dev); in pci_device_probe()
410 error = __pci_device_probe(drv, pci_dev); in pci_device_probe()
412 pcibios_free_irq(pci_dev); in pci_device_probe()
413 pci_dev_put(pci_dev); in pci_device_probe()
421 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_device_remove() local
422 struct pci_driver *drv = pci_dev->driver; in pci_device_remove()
427 drv->remove(pci_dev); in pci_device_remove()
430 pcibios_free_irq(pci_dev); in pci_device_remove()
431 pci_dev->driver = NULL; in pci_device_remove()
441 if (pci_dev->current_state == PCI_D0) in pci_device_remove()
442 pci_dev->current_state = PCI_UNKNOWN; in pci_device_remove()
453 pci_dev_put(pci_dev); in pci_device_remove()
459 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_device_shutdown() local
460 struct pci_driver *drv = pci_dev->driver; in pci_device_shutdown()
465 drv->shutdown(pci_dev); in pci_device_shutdown()
466 pci_msi_shutdown(pci_dev); in pci_device_shutdown()
467 pci_msix_shutdown(pci_dev); in pci_device_shutdown()
477 if (kexec_in_progress && (pci_dev->current_state <= PCI_D3hot)) in pci_device_shutdown()
478 pci_clear_master(pci_dev); in pci_device_shutdown()
490 static int pci_restore_standard_config(struct pci_dev *pci_dev) in pci_restore_standard_config() argument
492 pci_update_current_state(pci_dev, PCI_UNKNOWN); in pci_restore_standard_config()
494 if (pci_dev->current_state != PCI_D0) { in pci_restore_standard_config()
495 int error = pci_set_power_state(pci_dev, PCI_D0); in pci_restore_standard_config()
500 pci_restore_state(pci_dev); in pci_restore_standard_config()
508 static void pci_pm_default_resume_early(struct pci_dev *pci_dev) in pci_pm_default_resume_early() argument
510 pci_power_up(pci_dev); in pci_pm_default_resume_early()
511 pci_restore_state(pci_dev); in pci_pm_default_resume_early()
512 pci_fixup_device(pci_fixup_resume_early, pci_dev); in pci_pm_default_resume_early()
519 static void pci_pm_set_unknown_state(struct pci_dev *pci_dev) in pci_pm_set_unknown_state() argument
525 if (pci_dev->current_state == PCI_D0) in pci_pm_set_unknown_state()
526 pci_dev->current_state = PCI_UNKNOWN; in pci_pm_set_unknown_state()
533 static int pci_pm_reenable_device(struct pci_dev *pci_dev) in pci_pm_reenable_device() argument
538 retval = pci_reenable_device(pci_dev); in pci_pm_reenable_device()
543 if (pci_dev->is_busmaster) in pci_pm_reenable_device()
544 pci_set_master(pci_dev); in pci_pm_reenable_device()
551 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_suspend() local
552 struct pci_driver *drv = pci_dev->driver; in pci_legacy_suspend()
555 pci_power_t prev = pci_dev->current_state; in pci_legacy_suspend()
558 error = drv->suspend(pci_dev, state); in pci_legacy_suspend()
563 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_legacy_suspend()
564 && pci_dev->current_state != PCI_UNKNOWN) { in pci_legacy_suspend()
565 WARN_ONCE(pci_dev->current_state != prev, in pci_legacy_suspend()
571 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_legacy_suspend()
578 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_suspend_late() local
579 struct pci_driver *drv = pci_dev->driver; in pci_legacy_suspend_late()
582 pci_power_t prev = pci_dev->current_state; in pci_legacy_suspend_late()
585 error = drv->suspend_late(pci_dev, state); in pci_legacy_suspend_late()
590 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_legacy_suspend_late()
591 && pci_dev->current_state != PCI_UNKNOWN) { in pci_legacy_suspend_late()
592 WARN_ONCE(pci_dev->current_state != prev, in pci_legacy_suspend_late()
599 if (!pci_dev->state_saved) in pci_legacy_suspend_late()
600 pci_save_state(pci_dev); in pci_legacy_suspend_late()
602 pci_pm_set_unknown_state(pci_dev); in pci_legacy_suspend_late()
605 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_legacy_suspend_late()
612 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_resume_early() local
613 struct pci_driver *drv = pci_dev->driver; in pci_legacy_resume_early()
616 drv->resume_early(pci_dev) : 0; in pci_legacy_resume_early()
621 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_legacy_resume() local
622 struct pci_driver *drv = pci_dev->driver; in pci_legacy_resume()
624 pci_fixup_device(pci_fixup_resume, pci_dev); in pci_legacy_resume()
627 drv->resume(pci_dev) : pci_pm_reenable_device(pci_dev); in pci_legacy_resume()
632 static void pci_pm_default_resume(struct pci_dev *pci_dev) in pci_pm_default_resume() argument
634 pci_fixup_device(pci_fixup_resume, pci_dev); in pci_pm_default_resume()
636 if (!pci_has_subordinate(pci_dev)) in pci_pm_default_resume()
637 pci_enable_wake(pci_dev, PCI_D0, false); in pci_pm_default_resume()
640 static void pci_pm_default_suspend(struct pci_dev *pci_dev) in pci_pm_default_suspend() argument
643 if (!pci_has_subordinate(pci_dev)) in pci_pm_default_suspend()
644 pci_disable_enabled_device(pci_dev); in pci_pm_default_suspend()
647 static bool pci_has_legacy_pm_support(struct pci_dev *pci_dev) in pci_has_legacy_pm_support() argument
649 struct pci_driver *drv = pci_dev->driver; in pci_has_legacy_pm_support()
659 drv->name, pci_dev->vendor, pci_dev->device); in pci_has_legacy_pm_support()
702 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_suspend() local
705 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_suspend()
709 pci_pm_default_suspend(pci_dev); in pci_pm_suspend()
723 pci_dev->state_saved = false; in pci_pm_suspend()
725 pci_power_t prev = pci_dev->current_state; in pci_pm_suspend()
733 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_pm_suspend()
734 && pci_dev->current_state != PCI_UNKNOWN) { in pci_pm_suspend()
735 WARN_ONCE(pci_dev->current_state != prev, in pci_pm_suspend()
742 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_pm_suspend()
749 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_suspend_noirq() local
752 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_suspend_noirq()
756 pci_save_state(pci_dev); in pci_pm_suspend_noirq()
761 pci_power_t prev = pci_dev->current_state; in pci_pm_suspend_noirq()
769 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_pm_suspend_noirq()
770 && pci_dev->current_state != PCI_UNKNOWN) { in pci_pm_suspend_noirq()
771 WARN_ONCE(pci_dev->current_state != prev, in pci_pm_suspend_noirq()
778 if (!pci_dev->state_saved) { in pci_pm_suspend_noirq()
779 pci_save_state(pci_dev); in pci_pm_suspend_noirq()
780 if (!pci_has_subordinate(pci_dev)) in pci_pm_suspend_noirq()
781 pci_prepare_to_sleep(pci_dev); in pci_pm_suspend_noirq()
784 pci_pm_set_unknown_state(pci_dev); in pci_pm_suspend_noirq()
795 if (pci_dev->class == PCI_CLASS_SERIAL_USB_EHCI) in pci_pm_suspend_noirq()
796 pci_write_config_word(pci_dev, PCI_COMMAND, 0); in pci_pm_suspend_noirq()
799 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_pm_suspend_noirq()
806 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_resume_noirq() local
810 pci_pm_default_resume_early(pci_dev); in pci_pm_resume_noirq()
812 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_resume_noirq()
823 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_resume() local
831 if (pci_dev->state_saved) in pci_pm_resume()
832 pci_restore_standard_config(pci_dev); in pci_pm_resume()
834 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_resume()
837 pci_pm_default_resume(pci_dev); in pci_pm_resume()
843 pci_pm_reenable_device(pci_dev); in pci_pm_resume()
869 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_freeze() local
872 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_freeze()
876 pci_pm_default_suspend(pci_dev); in pci_pm_freeze()
888 pci_dev->state_saved = false; in pci_pm_freeze()
906 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_freeze_noirq() local
909 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_freeze_noirq()
921 if (!pci_dev->state_saved) in pci_pm_freeze_noirq()
922 pci_save_state(pci_dev); in pci_pm_freeze_noirq()
924 pci_pm_set_unknown_state(pci_dev); in pci_pm_freeze_noirq()
934 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_thaw_noirq() local
944 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_thaw_noirq()
947 pci_update_current_state(pci_dev, PCI_D0); in pci_pm_thaw_noirq()
957 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_thaw() local
967 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_thaw()
974 pci_pm_reenable_device(pci_dev); in pci_pm_thaw()
977 pci_dev->state_saved = false; in pci_pm_thaw()
984 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_poweroff() local
987 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_poweroff()
991 pci_pm_default_suspend(pci_dev); in pci_pm_poweroff()
998 pci_dev->state_saved = false; in pci_pm_poweroff()
1009 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_pm_poweroff()
1019 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_poweroff_noirq() local
1026 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_pm_poweroff_noirq()
1039 if (!pci_dev->state_saved && !pci_has_subordinate(pci_dev)) in pci_pm_poweroff_noirq()
1040 pci_prepare_to_sleep(pci_dev); in pci_pm_poweroff_noirq()
1046 if (pci_dev->class == PCI_CLASS_SERIAL_USB_EHCI) in pci_pm_poweroff_noirq()
1047 pci_write_config_word(pci_dev, PCI_COMMAND, 0); in pci_pm_poweroff_noirq()
1049 pci_fixup_device(pci_fixup_suspend_late, pci_dev); in pci_pm_poweroff_noirq()
1059 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_restore_noirq() local
1069 pci_pm_default_resume_early(pci_dev); in pci_pm_restore_noirq()
1071 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_restore_noirq()
1082 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_restore() local
1096 if (pci_dev->state_saved) in pci_pm_restore()
1097 pci_restore_standard_config(pci_dev); in pci_pm_restore()
1099 if (pci_has_legacy_pm_support(pci_dev)) in pci_pm_restore()
1102 pci_pm_default_resume(pci_dev); in pci_pm_restore()
1108 pci_pm_reenable_device(pci_dev); in pci_pm_restore()
1131 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_runtime_suspend() local
1133 pci_power_t prev = pci_dev->current_state; in pci_pm_runtime_suspend()
1140 if (!pci_dev->driver) in pci_pm_runtime_suspend()
1146 pci_dev->state_saved = false; in pci_pm_runtime_suspend()
1147 pci_dev->no_d3cold = false; in pci_pm_runtime_suspend()
1164 if (!pci_dev->d3cold_allowed) in pci_pm_runtime_suspend()
1165 pci_dev->no_d3cold = true; in pci_pm_runtime_suspend()
1167 pci_fixup_device(pci_fixup_suspend, pci_dev); in pci_pm_runtime_suspend()
1169 if (!pci_dev->state_saved && pci_dev->current_state != PCI_D0 in pci_pm_runtime_suspend()
1170 && pci_dev->current_state != PCI_UNKNOWN) { in pci_pm_runtime_suspend()
1171 WARN_ONCE(pci_dev->current_state != prev, in pci_pm_runtime_suspend()
1177 if (!pci_dev->state_saved) { in pci_pm_runtime_suspend()
1178 pci_save_state(pci_dev); in pci_pm_runtime_suspend()
1179 pci_finish_runtime_suspend(pci_dev); in pci_pm_runtime_suspend()
1188 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_runtime_resume() local
1195 if (!pci_dev->driver) in pci_pm_runtime_resume()
1201 pci_restore_standard_config(pci_dev); in pci_pm_runtime_resume()
1202 pci_fixup_device(pci_fixup_resume_early, pci_dev); in pci_pm_runtime_resume()
1203 __pci_enable_wake(pci_dev, PCI_D0, true, false); in pci_pm_runtime_resume()
1204 pci_fixup_device(pci_fixup_resume, pci_dev); in pci_pm_runtime_resume()
1208 pci_dev->runtime_d3cold = false; in pci_pm_runtime_resume()
1215 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_pm_runtime_idle() local
1223 if (!pci_dev->driver) in pci_pm_runtime_idle()
1323 struct pci_driver *pci_dev_driver(const struct pci_dev *dev) in pci_dev_driver()
1348 struct pci_dev *pci_dev = to_pci_dev(dev); in pci_bus_match() local
1352 if (!pci_dev->match_driver) in pci_bus_match()
1356 found_id = pci_match_device(pci_drv, pci_dev); in pci_bus_match()
1375 struct pci_dev *pci_dev_get(struct pci_dev *dev) in pci_dev_get()
1390 void pci_dev_put(struct pci_dev *dev) in pci_dev_put()
1399 struct pci_dev *pdev; in pci_uevent()