• R
    PM / Domains: Introduce "save/restore state" device callbacks · ecf00475
    Rafael J. Wysocki 提交于
    The current PM domains code uses device drivers' .runtime_suspend()
    and .runtime_resume() callbacks as the "save device state" and
    "restore device state" operations, which may not be appropriate in
    general, because it forces drivers to assume that they always will
    be used with generic PM domains.  However, in theory, the same
    hardware may be used in devices that don't belong to any PM
    domain, in which case it would be necessary to add "fake" PM
    domains to satisfy the above assumption.  It also may be located in
    a PM domain that's not handled with the help of the generic code.
    
    To allow device drivers that may be used along with the generic PM
    domains code of more flexibility, introduce new device callbacks,
    .save_state() and .restore_state(), that can be supplied by the
    drivers in addition to their "standard" runtime PM callbacks.  This
    will allow the drivers to be designed to work with generic PM domains
    as well as without them.
    
    For backwards compatibility, introduce default .save_state() and
    .restore_state() callback routines for PM domains that will execute
    a device driver's .runtime_suspend() and .runtime_resume() callbacks,
    respectively, for the given device if the driver doesn't provide its
    own implementations of .save_state() and .restore_state().
    Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
    ecf00475
pm_domain.h 4.8 KB