On Thu, May 27, 2010 at 07:15:31PM +0200, Thomas Gleixner wrote:
What is a "Correctly implemented driver" in this case? One that receives
a wakeup event and then prevents suspend being entered until userspace
has acknowledged that event? Because that's what an in-kernel suspend
blocker is.
ACPI provides no guarantees about what level of hardware functionality
remains during S3. You don't have any useful ability to determine which
events will generate wakeups. And from a purely practical point of view,
since the latency is in the range of seconds, you'll never have a low
enough wakeup rate to hit it.
Ger;kljaserf;kljf;kljer;klj. Suspend blockers are the mechanism for the
driver to indicate whether the wakeup event has been handled. That's
what they're there for. The in-kernel ones don't paper over anything.
--
Matthew Garrett | mjg59@srcf.ucam.org
--