Re: [RFC][PATCH 00/11] Android PM extensions

Alan Stern
2009-01-15T15:08:51Z

6~On Wed, 14 Jan 2009, Arve Hjønnevåg wrote:

> On Wed, Jan 14, 2009 at 1:01 AM, Nigel Cunningham
> <ncunningham@crca.org.au> wrote:
> > Would you be able to provide some more documentation?
>
> Would something like this help:
> Documentation/power/wakelocks.txt
>
> Wakelocks
> =========
>
> A wake_lock prevents the system from entering suspend or other low power
> states when active. If the type is set to WAKE_LOCK_SUSPEND, the wake_lock
> prevents a full system suspend. If the type is WAKE_LOCK_IDLE, low power
> states that cause large interrupt latencies or that disable a set of
> interrupts will not entered from idle until the wake_locks are released.

Apart from the grammatical errors in this document and the
over-engineering it describes, the writeup is terribly ambiguous.
What do you mean by "prevents a full system suspend"? Does it mean
that attempts to suspend the system will fail? Or will they just
block until all these locks are released?

Is there in fact any reason to add a new way for drivers to prevent a
full system suspend? They can already cause a suspend to fail by
returning an error from their suspend method, or cause a suspend to
block by sleeping in their suspend method.

Alan Stern