lkml.org 
[lkml]   [2011]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH] PM / Core: suspend_again cb for syscore_ops
    Hi!

    > A system or a device may need to control suspend/wakeup events. It may
    > want to wakeup the system after a predefined amount of time or at a
    > predefined event decided while entering suspend for polling or delayed
    > work. Then, it may want to enter suspend again if its predefined wakeup
    > condition is the only wakeup reason and there is no outstanding events;
    > thus, it does not wakeup the userspace unnecessary and keeps suspended
    > as long as possible (saving the power).

    Nice. Zaurus needs it, exactly due to this reason:

    > 2. Execute critical "delayed work" at suspend.
    > A driver or a system/board may have a delayed work (or any similar
    > things) that it wants to execute at the requested time.
    > For example, some chargers want to check the battery voltage some
    > time (e.g., 30 seconds) after the battery is fully charged and the
    > charger stops. Then, the charger restarts charging if the voltage has
    > dropped more than a threshold, which is smaller than "restart-charger"
    > voltage, which is a threshold to restart charging regardless of the
    > time passed.

    Yep, and zaurus also needs it to stop charging.

    > The system enters the suspend again if and only if all of the following
    > conditions are met:
    > 1. None of suspend_again ops returned "I want to stop suspend"
    > (suspend_again returns SUSPEND_AGAIN_STOP).
    > 2. At least one of suspend_again ops returned "I want to suspend again"
    > (suspend_again returns SUSPEND_AGAIN_CONTINUE)

    Better naming could be SUSPEND_AGAIN and VETO_RESUSPEND or
    SUSPEND_AGAIN_VETO .

    > Anyway, the following features may need to be added later:
    > 1. An API to allow devices to express next desired wakeup-time. Then,
    > the framework will combine them and setup RTC alarm accordingly and
    > save/restore previously registered RTC alarms.

    Yep.

    Pavel
    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


    \
     
     \ /
      Last update: 2011-04-20 15:23    [W:0.025 / U:390.284 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site