• Xunlei Pang's avatar
    rtc/ab8500: set uie_unsupported flag · c594d678
    Xunlei Pang authored
    Currently, ab8500 doesn't set uie_unsupported of rtc_device, while it
    doesn't support UIE, see ab8500_rtc_set_alarm().
    
    Thus, when going through rtc_update_irq_enable()->rtc_timer_enqueue(),
    there's a chance it has an alarm timer1 queued before which is going to
    fired, so this update timer2 will be queued because it isn't the leftmost
    one, which means rtc_timer_enqueue() will return 0.
    
    This will result in two problems:
    1) UIE EMUL will not be used.
    2) When the alarm timer1 is fired, in rtc_timer_do_work() timer2 will
       fail to set the alarm time, so this rtc will disfunctional due to
       timer2 with the earliest expires in the timerqueue.
    
    So, rtc drivers must set this flag if they don't support UIE.
    Signed-off-by: default avatarXunlei Pang <pang.xunlei@linaro.org>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c594d678
rtc-ab8500.c 13.7 KB