nemomobile/mce — pull request #36 by spiiroin (2013-03-01 10:54:51+00:00)
Title: Implement cpu-keepalive plugin for mce

The cpu-keepalive plugin implementes dbus interface defined in
mce-headers >= 1.12.3.

Applications can query keepalive renew period via:
MCE_CPU_KEEPALIVE_PERIOD_REQ

And then block suspend via:
MCE_CPU_KEEPALIVE_START_REQ x N
MCE_CPU_KEEPALIVE_STOP_REQ

The iphb plugin in dsme can signal wakeups via:
MCE_CPU_KEEPALIVE_WAKEUP_REQ

While there are clients with active keepalive periods, mce will block
the device from entering late suspend.

If client with active keepalive perdiod drops from system bus, it will
be handled as if MCE_CPU_KEEPALIVE_STOP_REQ were made.

If mce is compiled without wakelock support, longer renew period is
reported by MCE_CPU_KEEPALIVE_PERIOD_REQ.

After receiving MCE_CPU_KEEPALIVE_WAKEUP_REQ from dsme, mce
blocks late suspend for a short while to allow clients using libiphb timers
to register keepalive periods.