diff options
author | Eric Paris <eparis@redhat.com> | 2011-05-26 17:20:14 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2011-05-26 17:20:14 -0400 |
commit | ea77f7a2e8561012cf100c530170f12351c3b53e (patch) | |
tree | 7302ac1064f4e364aadda84020a176804fb86e22 /drivers/rtc/rtc-test.c | |
parent | 7a627e3b9a2bd0f06945bbe64bcf403e788ecf6e (diff) | |
parent | 61c4f2c81c61f73549928dfd9f3e8f26aa36a8cf (diff) |
Merge commit 'v2.6.39' into 20110526
Conflicts:
lib/flex_array.c
security/selinux/avc.c
security/selinux/hooks.c
security/selinux/ss/policydb.c
security/smack/smack_lsm.c
Diffstat (limited to 'drivers/rtc/rtc-test.c')
-rw-r--r-- | drivers/rtc/rtc-test.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/rtc/rtc-test.c b/drivers/rtc/rtc-test.c index a82d6fe97076..7e96254bd365 100644 --- a/drivers/rtc/rtc-test.c +++ b/drivers/rtc/rtc-test.c | |||
@@ -78,11 +78,16 @@ static ssize_t test_irq_store(struct device *dev, | |||
78 | struct rtc_device *rtc = platform_get_drvdata(plat_dev); | 78 | struct rtc_device *rtc = platform_get_drvdata(plat_dev); |
79 | 79 | ||
80 | retval = count; | 80 | retval = count; |
81 | if (strncmp(buf, "tick", 4) == 0) | 81 | if (strncmp(buf, "tick", 4) == 0 && rtc->pie_enabled) |
82 | rtc_update_irq(rtc, 1, RTC_PF | RTC_IRQF); | 82 | rtc_update_irq(rtc, 1, RTC_PF | RTC_IRQF); |
83 | else if (strncmp(buf, "alarm", 5) == 0) | 83 | else if (strncmp(buf, "alarm", 5) == 0) { |
84 | rtc_update_irq(rtc, 1, RTC_AF | RTC_IRQF); | 84 | struct rtc_wkalrm alrm; |
85 | else if (strncmp(buf, "update", 6) == 0) | 85 | int err = rtc_read_alarm(rtc, &alrm); |
86 | |||
87 | if (!err && alrm.enabled) | ||
88 | rtc_update_irq(rtc, 1, RTC_AF | RTC_IRQF); | ||
89 | |||
90 | } else if (strncmp(buf, "update", 6) == 0 && rtc->uie_rtctimer.enabled) | ||
86 | rtc_update_irq(rtc, 1, RTC_UF | RTC_IRQF); | 91 | rtc_update_irq(rtc, 1, RTC_UF | RTC_IRQF); |
87 | else | 92 | else |
88 | retval = -EINVAL; | 93 | retval = -EINVAL; |