• Bernie Thompson's avatar
    rtc: add ability to push out an existing wakealarm using sysfs · 1df0a471
    Bernie Thompson authored
    This adds the ability for the rtc sysfs code to handle += characters at
    the beginning of a wakealarm setting string.  This will allow the user
    to attempt to push out an existing wakealarm by a provided amount.
    
    In the case that the += characters are provided but the alarm is not
    active -EINVAL is returned.
    
    his is useful, at least for my purposes in suspend/resume testing.  The
    basic test goes something like:
    
    1. Set a wake alarm from userspace 5 seconds in the future
    
    2. Start the suspend process (echo mem > /sys/power/state)
    
    3. After ~2.5 seconds if userspace is still running (using another
       thread to check this), move the wake alarm 5 more seconds
    
    If the "move" involves an unset of the wakealarm then there's a period
       of time where the system is midway through suspending but has no wake
       alarm.  It will get stuck.
    
    We'd rather not remove the "move" since the idea is to avoid a cancelled
    suspend when the alarm fires _during_ suspend.  It is difficult for the
    test to tell the difference between a suspend that was cancelled because
    the alarm fired too early and a suspend that was
    Signed-off-by: default avatarBernie Thompson <bhthompson@chromium.org>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: Doug Anderson <dianders@chromium.org>
    Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    1df0a471
rtc-sysfs.c 6.44 KB