forked from Minki/linux
PCI: Add pci_set_acpi_fwnode() to set ACPI_COMPANION
Move the existing logic from acpi_pci_bridge_d3() to a separate function pci_set_acpi_fwnode() to set the ACPI fwnode. No functional change intended. Link: https://lore.kernel.org/r/20210817180500.1253-7-ameynarkhede03@gmail.com Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
d88f521da3
commit
3a15955d7c
@ -934,6 +934,13 @@ static pci_power_t acpi_pci_choose_state(struct pci_dev *pdev)
|
||||
|
||||
static struct acpi_device *acpi_pci_find_companion(struct device *dev);
|
||||
|
||||
void pci_set_acpi_fwnode(struct pci_dev *dev)
|
||||
{
|
||||
if (!ACPI_COMPANION(&dev->dev) && !pci_dev_is_added(dev))
|
||||
ACPI_COMPANION_SET(&dev->dev,
|
||||
acpi_pci_find_companion(&dev->dev));
|
||||
}
|
||||
|
||||
static bool acpi_pci_bridge_d3(struct pci_dev *dev)
|
||||
{
|
||||
const struct fwnode_handle *fwnode;
|
||||
@ -945,11 +952,8 @@ static bool acpi_pci_bridge_d3(struct pci_dev *dev)
|
||||
return false;
|
||||
|
||||
/* Assume D3 support if the bridge is power-manageable by ACPI. */
|
||||
pci_set_acpi_fwnode(dev);
|
||||
adev = ACPI_COMPANION(&dev->dev);
|
||||
if (!adev && !pci_dev_is_added(dev)) {
|
||||
adev = acpi_pci_find_companion(&dev->dev);
|
||||
ACPI_COMPANION_SET(&dev->dev, adev);
|
||||
}
|
||||
|
||||
if (adev && acpi_device_power_manageable(adev))
|
||||
return true;
|
||||
|
@ -707,7 +707,9 @@ static inline int pci_aer_raw_clear_status(struct pci_dev *dev) { return -EINVAL
|
||||
#ifdef CONFIG_ACPI
|
||||
int pci_acpi_program_hp_params(struct pci_dev *dev);
|
||||
extern const struct attribute_group pci_dev_acpi_attr_group;
|
||||
void pci_set_acpi_fwnode(struct pci_dev *dev);
|
||||
#else
|
||||
static inline void pci_set_acpi_fwnode(struct pci_dev *dev) {}
|
||||
static inline int pci_acpi_program_hp_params(struct pci_dev *dev)
|
||||
{
|
||||
return -ENODEV;
|
||||
|
Loading…
Reference in New Issue
Block a user