linux/include/acpi
Mika Westerberg 4533771c1e ACPI / PM: Introduce concept of a _PR0 dependent device
If there are shared power resources between otherwise unrelated devices
turning them on causes the other devices sharing them to be powered up
as well. In case of PCI devices go into D0uninitialized state meaning
that if they were configured to trigger wake that configuration is lost
at this point.

For this reason introduce a concept of "_PR0 dependent device" that can
be added to any ACPI device that has power resources. The dependent
device will be included in a list of dependent devices for all power
resources returned by the ACPI device's _PR0 (assuming it has one).
Whenever a power resource having dependent devices is turned physically
on (its _ON method is called) we runtime resume all of them to allow
their driver or in case of PCI the PCI core to re-initialize the device
and its wake configuration.

This adds two functions that can be used to add and remove these
dependent devices. Note the dependent device does not necessary need
share power resources so this functionality can be used to add "software
dependencies" as well if needed.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-06-27 12:31:57 +02:00
..
platform ACPICA: Linux: move ACPI_DEBUG_DEFAULT flag out of ifndef 2019-05-13 10:34:21 +02:00
acbuffer.h ACPICA: All acpica: Update copyrights to 2019 2019-01-15 18:04:02 +01:00
acconfig.h ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting 2019-02-24 21:12:01 +01:00
acexcep.h ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting 2019-02-24 21:12:01 +01:00
acnames.h ACPICA: All acpica: Update copyrights to 2019 2019-01-15 18:04:02 +01:00
acoutput.h ACPI: use different default debug value than ACPICA 2019-03-25 10:45:59 +01:00
acpi_bus.h ACPI / PM: Introduce concept of a _PR0 dependent device 2019-06-27 12:31:57 +02:00
acpi_drivers.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
acpi_io.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi_lpat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
acpi_numa.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi.h ACPICA: All acpica: Update copyrights to 2019 2019-01-15 18:04:02 +01:00
acpiosxf.h ACPICA: All acpica: Update copyrights to 2019 2019-01-15 18:04:02 +01:00
acpixf.h ACPICA: Update version to 20190509 2019-05-13 10:34:21 +02:00
acrestyp.h ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting 2019-02-24 21:12:01 +01:00
actbl1.h acpi/hmat: Update acpi_hmat_type enum with ACPI_HMAT_TYPE_PROXIMITY 2019-04-25 21:24:38 +02:00
actbl2.h ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting 2019-02-24 21:12:01 +01:00
actbl3.h ACPICA: ACPI 6.3: SRAT: add Generic Affinity Structure subtable 2019-02-18 11:21:11 +01:00
actbl.h ACPICA: Rename nameseg length macro/define for clarity 2019-04-09 11:24:48 +02:00
actypes.h ACPICA: Rename nameseg length macro/define for clarity 2019-04-09 11:24:48 +02:00
acuuid.h ACPICA: All acpica: Update copyrights to 2019 2019-01-15 18:04:02 +01:00
apei.h Merge branches 'acpi-pmic', 'acpi-apei' and 'acpi-x86' 2017-11-13 01:37:17 +01:00
battery.h battery: Add the battery hooking API 2018-02-21 23:27:13 +01:00
button.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cppc_acpi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
ghes.h ACPI / APEI: Don't update struct ghes' flags in read/clear estatus 2019-02-07 23:10:45 +01:00
hed.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
nfit.h acpi, nfit: Add function to look up nvdimm device and provide SMBIOS handle 2018-03-14 12:43:50 +01:00
pcc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
pdc_intel.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor.h ACPI / processor: Finish making acpi_processor_ppc_has_changed() void 2018-06-20 10:50:40 +02:00
reboot.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
video.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00