PCI/PM: Move pcie_clear_root_pme_status() to core
Move pcie_clear_root_pme_status() from the port driver to the PCI core so it will be available even when the port driver isn't present. No functional change intended. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Родитель
ef7942603e
Коммит
dcb0453d71
|
@ -1683,6 +1683,15 @@ int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(pci_set_pcie_reset_state);
|
EXPORT_SYMBOL_GPL(pci_set_pcie_reset_state);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pcie_clear_root_pme_status - Clear root port PME interrupt status.
|
||||||
|
* @dev: PCIe root port or event collector.
|
||||||
|
*/
|
||||||
|
void pcie_clear_root_pme_status(struct pci_dev *dev)
|
||||||
|
{
|
||||||
|
pcie_capability_set_dword(dev, PCI_EXP_RTSTA, PCI_EXP_RTSTA_PME);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pci_check_pme_status - Check if given device has generated PME.
|
* pci_check_pme_status - Check if given device has generated PME.
|
||||||
* @dev: Device to check.
|
* @dev: Device to check.
|
||||||
|
|
|
@ -71,6 +71,7 @@ void pci_update_current_state(struct pci_dev *dev, pci_power_t state);
|
||||||
void pci_power_up(struct pci_dev *dev);
|
void pci_power_up(struct pci_dev *dev);
|
||||||
void pci_disable_enabled_device(struct pci_dev *dev);
|
void pci_disable_enabled_device(struct pci_dev *dev);
|
||||||
int pci_finish_runtime_suspend(struct pci_dev *dev);
|
int pci_finish_runtime_suspend(struct pci_dev *dev);
|
||||||
|
void pcie_clear_root_pme_status(struct pci_dev *dev);
|
||||||
int __pci_pme_wakeup(struct pci_dev *dev, void *ign);
|
int __pci_pme_wakeup(struct pci_dev *dev, void *ign);
|
||||||
void pci_pme_restore(struct pci_dev *dev);
|
void pci_pme_restore(struct pci_dev *dev);
|
||||||
bool pci_dev_keep_suspended(struct pci_dev *dev);
|
bool pci_dev_keep_suspended(struct pci_dev *dev);
|
||||||
|
|
|
@ -93,8 +93,6 @@ void pcie_port_bus_unregister(void);
|
||||||
|
|
||||||
struct pci_dev;
|
struct pci_dev;
|
||||||
|
|
||||||
void pcie_clear_root_pme_status(struct pci_dev *dev);
|
|
||||||
|
|
||||||
#ifdef CONFIG_HOTPLUG_PCI_PCIE
|
#ifdef CONFIG_HOTPLUG_PCI_PCIE
|
||||||
extern bool pciehp_msi_disabled;
|
extern bool pciehp_msi_disabled;
|
||||||
|
|
||||||
|
|
|
@ -49,15 +49,6 @@ __setup("pcie_ports=", pcie_port_setup);
|
||||||
|
|
||||||
/* global data */
|
/* global data */
|
||||||
|
|
||||||
/**
|
|
||||||
* pcie_clear_root_pme_status - Clear root port PME interrupt status.
|
|
||||||
* @dev: PCIe root port or event collector.
|
|
||||||
*/
|
|
||||||
void pcie_clear_root_pme_status(struct pci_dev *dev)
|
|
||||||
{
|
|
||||||
pcie_capability_set_dword(dev, PCI_EXP_RTSTA, PCI_EXP_RTSTA_PME);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int pcie_portdrv_restore_config(struct pci_dev *dev)
|
static int pcie_portdrv_restore_config(struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче