PM / Domains: Support for generic I/O PM domains (v8)
authorRafael J. Wysocki <rjw@sisk.pl>
Fri, 1 Jul 2011 20:12:45 +0000 (22:12 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Sat, 2 Jul 2011 12:29:55 +0000 (14:29 +0200)
commitf721889ff65afa6243c463832c74dee3bed418d5
tree350bcb4fd7964167189fce93d0a9352f2958b1a4
parentdc6e4e56e6ef473a696a1ab24f80b79b9aceb92d
PM / Domains: Support for generic I/O PM domains (v8)

Introduce common headers, helper functions and callbacks allowing
platforms to use simple generic power domains for runtime power
management.

Introduce struct generic_pm_domain to be used for representing
power domains that each contain a number of devices and may be
parent domains or subdomains with respect to other power domains.
Among other things, this structure includes callbacks to be
provided by platforms for performing specific tasks related to
power management (i.e. ->stop_device() may disable a device's
clocks, while ->start_device() may enable them, ->power_off() is
supposed to remove power from the entire power domain
and ->power_on() is supposed to restore it).

Introduce functions that can be used as power domain runtime PM
callbacks, pm_genpd_runtime_suspend() and pm_genpd_runtime_resume(),
as well as helper functions for the initialization of a power
domain represented by a struct generic_power_domain object,
adding a device to or removing a device from it and adding or
removing subdomains.

Introduce configuration option CONFIG_PM_GENERIC_DOMAINS to be
selected by the platforms that want to use the new code.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Reviewed-by: Kevin Hilman <khilman@ti.com>
drivers/base/power/Makefile
drivers/base/power/domain.c [new file with mode: 0644]
include/linux/pm_domain.h [new file with mode: 0644]
kernel/power/Kconfig