• Rafael J. Wysocki's avatar
    PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI · d97c5d4c
    Rafael J. Wysocki authored
    Using struct pci_platform_pm_ops for ACPI adds unnecessary
    indirection to the interactions between the PCI core and ACPI PM,
    which is also subject to retpolines.
    
    Moreover, it is not particularly clear from the current code that,
    as far as PCI PM is concerned, "platform" really means just ACPI
    except for the special casess when Intel MID PCI PM is used or when
    ACPI support is disabled (through the kernel config or command line,
    or because there are no usable ACPI tables on the system).
    
    To address the above, rework the PCI PM code to invoke ACPI PM
    functions directly as needed and drop the acpi_pci_platform_pm
    object that is not necessary any more.
    
    Accordingly, update some of the ACPI PM functions in question to do
    extra checks in case the ACPI support is disabled (which previously
    was taken care of by avoiding to set the pci_platform_ops pointer
    in those cases).
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Tested-by: default avatarFerry Toth <fntoth@gmail.com>
    d97c5d4c
pci.c 179 KB