Re: [PATCH 7/10 v6] PM / Domains: Don't stop wakeup devices during system sleep transitions

Kevin Hilman
2011-07-01T14:34:16Z

"Rafael J. Wysocki" <rjw@sisk.pl> writes:

> On Friday, July 01, 2011, Kevin Hilman wrote:
>> "Rafael J. Wysocki" <rjw@sisk.pl> writes:
> ...
>> > So the only way forward I can see is to add a special PM domain callback,
>> > say .active_wakeup(), that will return "true" if the device is to be left
>> > active when wakeup-enabled. So the check you don't like will become
>> > something like:
>> >
>> > if (device_may_wakeup(dev) && genpd->active_wakeup
>> > && genpd->active_wakeup(dev))
>> > return 0;
>> >
>> > Would that be better?
>>
>> Yes, much better. And I like the default behavior if no hooks are provided.
>
> So, what about the appended patch instead of the $subject one?
>
> Rafael
>
> ---
> From: Rafael J. Wysocki <rjw@sisk.pl>
> Subject: PM / Domains: Wakeup devices support for system sleep transitions
>
> There is the problem how to handle devices set up to wake up the
> system from sleep states during system-wide power transitions.
> In some cases, those devices can be turned off entirely, because the
> wakeup signals will be generated on their behalf anyway. In some
> other cases, they will generate wakeup signals if their clocks are
> stopped, but only if power is not removed from them. Finally, in
> some cases, they can only generate wakeup signals if power is not
> removed from them and their clocks are enabled.
>
> To allow platform-specific code to decide whether or not to put
> wakeup devices (and their PM domains) into low-power state during
> system-wide transitions, such as system suspend, introduce a new
> generic PM domain callback, .active_wakeup(), that will be used
> during the "noirq" phase of system suspend and hibernation (after
> image creation) to decide what to do with wakeup devices.
> Specifically, if this callback is present and returns "true", the
> generic PM domain code will not execute .stop_device() for the
> given wakeup device and its PM domain won't be powered off.
>
> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>

Acked-by: Kevin Hilman <khilman@ti.com>

Thanks,

Kevin