Commit 18a94192 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Bjorn Helgaas
Browse files

PCI/PM: Define pci_restore_standard_config() only for CONFIG_PM_SLEEP

pci_restore_standard_config() was defined under CONFIG_PM but called only
by pci_pm_resume() (defined under CONFIG_SUSPEND) and pci_pm_restore()
(defined under CONFIG_HIBERNATE_CALLBACKS).  A configuration with only
CONFIG_PM leads to a warning:

  drivers/pci/pci-driver.c:533:12: error: ‘pci_restore_standard_config’ defined but not used [-Werror=unused-function]

CONFIG_PM_SLEEP depends on CONFIG_SUSPEND and CONFIG_HIBERNATE_CALLBACKS,
so define pci_restore_standard_config() under that instead.

Link: https://lore.kernel.org/r/20220420141135.444820-1-krzysztof.kozlowski@linaro.org


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 31231092
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -522,9 +522,9 @@ static void pci_device_shutdown(struct device *dev)
		pci_clear_master(pci_dev);
}

#ifdef CONFIG_PM
#ifdef CONFIG_PM_SLEEP

/* Auxiliary functions used for system resume and run-time resume. */
/* Auxiliary functions used for system resume */

/**
 * pci_restore_standard_config - restore standard config registers of PCI device
@@ -544,6 +544,11 @@ static int pci_restore_standard_config(struct pci_dev *pci_dev)
	pci_pme_restore(pci_dev);
	return 0;
}
#endif /* CONFIG_PM_SLEEP */

#ifdef CONFIG_PM

/* Auxiliary functions used for system resume and run-time resume */

static void pci_pm_default_resume(struct pci_dev *pci_dev)
{
@@ -551,10 +556,6 @@ static void pci_pm_default_resume(struct pci_dev *pci_dev)
	pci_enable_wake(pci_dev, PCI_D0, false);
}

#endif

#ifdef CONFIG_PM_SLEEP

static void pci_pm_default_resume_early(struct pci_dev *pci_dev)
{
	pci_power_up(pci_dev);
@@ -563,6 +564,10 @@ static void pci_pm_default_resume_early(struct pci_dev *pci_dev)
	pci_pme_restore(pci_dev);
}

#endif /* CONFIG_PM */

#ifdef CONFIG_PM_SLEEP

/*
 * Default "suspend" method for devices that have no driver provided suspend,
 * or not even a driver at all (second part).