#ifdef CONFIG_HIBERNATE_CALLBACKS
 
-/*
- * pcibios_pm_ops - provide arch-specific hooks when a PCI device is doing
- * a hibernate transition
- */
-struct dev_pm_ops __weak pcibios_pm_ops;
-
 static int pci_pm_freeze(struct device *dev)
 {
        struct pci_dev *pci_dev = to_pci_dev(dev);
 
        pci_pm_set_unknown_state(pci_dev);
 
-       if (pcibios_pm_ops.freeze_noirq)
-               return pcibios_pm_ops.freeze_noirq(dev);
-
        return 0;
 }
 
 {
        struct pci_dev *pci_dev = to_pci_dev(dev);
        const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
-       int error;
-
-       if (pcibios_pm_ops.thaw_noirq) {
-               error = pcibios_pm_ops.thaw_noirq(dev);
-               if (error)
-                       return error;
-       }
 
        /*
         * The pm->thaw_noirq() callback assumes the device has been
 
        pci_fixup_device(pci_fixup_suspend_late, pci_dev);
 
-       if (pcibios_pm_ops.poweroff_noirq)
-               return pcibios_pm_ops.poweroff_noirq(dev);
-
        return 0;
 }
 
 {
        struct pci_dev *pci_dev = to_pci_dev(dev);
        const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
-       int error;
-
-       if (pcibios_pm_ops.restore_noirq) {
-               error = pcibios_pm_ops.restore_noirq(dev);
-               if (error)
-                       return error;
-       }
 
        pci_pm_default_resume_early(pci_dev);
        pci_fixup_device(pci_fixup_resume_early, pci_dev);
 
 void pcibios_free_irq(struct pci_dev *dev);
 resource_size_t pcibios_default_alignment(void);
 
-#ifdef CONFIG_HIBERNATE_CALLBACKS
-extern struct dev_pm_ops pcibios_pm_ops;
-#endif
-
 #if defined(CONFIG_PCI_MMCONFIG) || defined(CONFIG_ACPI_MCFG)
 void __init pci_mmcfg_early_init(void);
 void __init pci_mmcfg_late_init(void);