Commit 6d8c016a authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Bjorn Helgaas
Browse files

PCI/PM: Unfold pci_platform_power_transition() in pci_power_up()

Some actions carried out by pci_platform_power_transition(() in
pci_power_up() are redundant, but before dealing with them, make
pci_power_up() call the pci_platform_power_transition() code directly
(and avoid a redundant check when pm_cap is unset while at it).

Link: https://lore.kernel.org/r/1922486.PYKUYFuaPT@kreacher


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 1aa85bb1
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1194,8 +1194,15 @@ int pci_power_up(struct pci_dev *dev)
{
	bool need_restore = false;
	u16 pmcsr;
	int ret;

	pci_platform_power_transition(dev, PCI_D0);
	ret = platform_pci_set_power_state(dev, PCI_D0);
	if (!ret) {
		pci_update_current_state(dev, PCI_D0);
	} else if (!dev->pm_cap) { /* Fall back to PCI_D0 */
		dev->current_state = PCI_D0;
		return 0;
	}

	if (dev->current_state == PCI_D0)
		return 0;