mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
PCI/PM: Fold __pci_complete_power_transition() into its caller
Because pci_set_power_state() has become the only caller of __pci_complete_power_transition(), there is no need for the latter to be a separate function any more, so fold it into the former, drop a redundant check and reduce the number of lines of code somewhat. Code rearrangement, no intentional functional impact. Link: https://lore.kernel.org/r/15576968.k611qn3UU0@kreacher Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
This commit is contained in:
parent
d6aa37cd04
commit
9c77e63bd8
@ -1055,26 +1055,6 @@ void pci_bus_set_current_state(struct pci_bus *bus, pci_power_t state)
|
||||
pci_walk_bus(bus, __pci_dev_set_current_state, &state);
|
||||
}
|
||||
|
||||
/**
|
||||
* __pci_complete_power_transition - Complete power transition of a PCI device
|
||||
* @dev: PCI device to handle.
|
||||
* @state: State to put the device into.
|
||||
*
|
||||
* This function should not be called directly by device drivers.
|
||||
*/
|
||||
static int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (state <= PCI_D0)
|
||||
return -EINVAL;
|
||||
ret = pci_platform_power_transition(dev, state);
|
||||
/* Power off the bridge may power off the whole hierarchy */
|
||||
if (!ret && state == PCI_D3cold)
|
||||
pci_bus_set_current_state(dev->subordinate, PCI_D3cold);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* pci_set_power_state - Set the power state of a PCI device
|
||||
* @dev: PCI device to handle.
|
||||
@ -1132,10 +1112,14 @@ int pci_set_power_state(struct pci_dev *dev, pci_power_t state)
|
||||
error = pci_raw_set_power_state(dev, state > PCI_D3hot ?
|
||||
PCI_D3hot : state);
|
||||
|
||||
if (!__pci_complete_power_transition(dev, state))
|
||||
error = 0;
|
||||
if (pci_platform_power_transition(dev, state))
|
||||
return error;
|
||||
|
||||
return error;
|
||||
/* Powering off a bridge may power off the whole hierarchy */
|
||||
if (state == PCI_D3cold)
|
||||
pci_bus_set_current_state(dev->subordinate, PCI_D3cold);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(pci_set_power_state);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user