On Wed, Mar 28, 2018 at 03:47:18PM +0200, Arnd Bergmann wrote: > The power management code in pci-driver.c is a maze of #ifdefs, and > the newly added pcie_pme_root_status_cleanup function ended up in the > wrong one of them, causing a harmless warning in some configurations: > > drivers/pci/pci-driver.c:527:13: error: 'pcie_pme_root_status_cleanup' defined but not used [-Werror=unused-function] > static void pcie_pme_root_status_cleanup(struct pci_dev *pci_dev) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > This moves the definition into the correct #ifdef section. > > Fixes: 6c4dfc1389e1 ("PCI/PM: Clear PCIe PME Status bit in core, not PCIe port driver") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Thanks, I folded this into 6c4dfc1389e1. > --- > drivers/pci/pci-driver.c | 25 ++++++++++++------------- > 1 file changed, 12 insertions(+), 13 deletions(-) > > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > index b9bca74e9eff..6ace47099fc5 100644 > --- a/drivers/pci/pci-driver.c > +++ b/drivers/pci/pci-driver.c > @@ -524,19 +524,6 @@ static void pci_pm_default_resume_early(struct pci_dev *pci_dev) > pci_fixup_device(pci_fixup_resume_early, pci_dev); > } > > -static void pcie_pme_root_status_cleanup(struct pci_dev *pci_dev) > -{ > - /* > - * Some BIOSes forget to clear Root PME Status bits after system > - * wakeup, which breaks ACPI-based runtime wakeup on PCI Express. > - * Clear those bits now just in case (shouldn't hurt). > - */ > - if (pci_is_pcie(pci_dev) && > - (pci_pcie_type(pci_dev) == PCI_EXP_TYPE_ROOT_PORT || > - pci_pcie_type(pci_dev) == PCI_EXP_TYPE_RC_EC)) > - pcie_clear_root_pme_status(pci_dev); > -} > - > /* > * Default "suspend" method for devices that have no driver provided suspend, > * or not even a driver at all (second part). > @@ -726,6 +713,18 @@ static void pci_pm_complete(struct device *dev) > #endif /* !CONFIG_PM_SLEEP */ > > #ifdef CONFIG_SUSPEND > +static void pcie_pme_root_status_cleanup(struct pci_dev *pci_dev) > +{ > + /* > + * Some BIOSes forget to clear Root PME Status bits after system > + * wakeup, which breaks ACPI-based runtime wakeup on PCI Express. > + * Clear those bits now just in case (shouldn't hurt). > + */ > + if (pci_is_pcie(pci_dev) && > + (pci_pcie_type(pci_dev) == PCI_EXP_TYPE_ROOT_PORT || > + pci_pcie_type(pci_dev) == PCI_EXP_TYPE_RC_EC)) > + pcie_clear_root_pme_status(pci_dev); > +} > > static int pci_pm_suspend(struct device *dev) > { > -- > 2.9.0 >