On Fri, Apr 29, 2011 at 8:54 AM, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > From: Rafael J. Wysocki <rjw@xxxxxxx> > > Introcude common headers, helper functions and callbacks allowing > platforms to use simple generic power domains for runtime power > management. > > Introduce struct generic_power_domain to be used for representing > power domains that each contain a number of devices and may be > master 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_on() is > supposed to remove power from the entire power domain > and ->power_off() 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. > > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> Hi! The pm_domain is assuming that there is at most one powerdomain per device, which is perfectly fine with my machines and the concept of in-SoC powerdomains. However, if so, wouldn't it be possible to simply set powerdomain by setting a device's parent? For example, for a device, struct device *dev, and a powerdomain, struct device *pd, use "dev.parent = pd;", and let runtime-pm handle including the "dev_power_governor" in the pm_domain's pm related code. Cheers! - MyungJoo -- MyungJoo Ham, Ph.D. Mobile Software Platform Lab, Digital Media and Communications (DMC) Business Samsung Electronics cell: 82-10-6714-2858 _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm