Skip to content
  • Rafael J. Wysocki's avatar
    PM / Domains: Support for generic I/O PM domains (v8) · f721889f
    Rafael J. Wysocki authored
    
    
    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: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
    f721889f