summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/power.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2010-11-25 00:06:55 +0100
committerLen Brown <len.brown@intel.com>2011-01-12 04:48:44 -0500
commit30d3df41b32b1ea63d3ebc52ef5644cbe41520f4 (patch)
tree8daf2d042493644776179dc75170c34dca68f743 /drivers/acpi/power.c
parentd2ef555b57292cd818934636ac8e3414cc2a6762 (diff)
downloadlinux-30d3df41b32b1ea63d3ebc52ef5644cbe41520f4.tar.gz
linux-30d3df41b32b1ea63d3ebc52ef5644cbe41520f4.tar.bz2
linux-30d3df41b32b1ea63d3ebc52ef5644cbe41520f4.zip
ACPI / PM: Introduce function for refcounting device power resources
Introduce function acpi_power_on_resources() that reference counts and possibly turns on ACPI power resources for a given device and a given power state of it. This function will be used for reference counting device power resources during initialization. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/power.c')
-rw-r--r--drivers/acpi/power.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index 95fedbdf4fb8..0cb4eab50d73 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -485,6 +485,14 @@ int acpi_power_get_inferred_state(struct acpi_device *device, int *state)
return 0;
}
+int acpi_power_on_resources(struct acpi_device *device, int state)
+{
+ if (!device || state < ACPI_STATE_D0 || state > ACPI_STATE_D3)
+ return -EINVAL;
+
+ return acpi_power_on_list(&device->power.states[state].resources);
+}
+
int acpi_power_transition(struct acpi_device *device, int state)
{
int result;