diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-18 22:20:46 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-18 22:20:46 (GMT) |
commit | 0cc9d5257857608ba85885b75fcada13d359b5d1 (patch) | |
tree | c36289844c623f2a3026f629d47cee793fb535ff /include | |
parent | 4c3021da451fe0ea1deaba8fa3805d8d065ec84e (diff) | |
parent | 456d66ecd09e3bc326b93174745faafb6ac378d6 (diff) | |
download | linux-0cc9d5257857608ba85885b75fcada13d359b5d1.tar.xz |
Merge branch 'rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'rtc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
RTC: Re-enable UIE timer/polling emulation
RTC: Revert UIE emulation removal
RTC: Release mutex in error path of rtc_alarm_irq_enable
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/rtc.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/rtc.h b/include/linux/rtc.h index a0b639f..89c3e51 100644 --- a/include/linux/rtc.h +++ b/include/linux/rtc.h @@ -203,6 +203,18 @@ struct rtc_device struct hrtimer pie_timer; /* sub second exp, so needs hrtimer */ int pie_enabled; struct work_struct irqwork; + + +#ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL + struct work_struct uie_task; + struct timer_list uie_timer; + /* Those fields are protected by rtc->irq_lock */ + unsigned int oldsecs; + unsigned int uie_irq_active:1; + unsigned int stop_uie_polling:1; + unsigned int uie_task_active:1; + unsigned int uie_timer_active:1; +#endif }; #define to_rtc_device(d) container_of(d, struct rtc_device, dev) @@ -235,7 +247,10 @@ extern int rtc_irq_set_freq(struct rtc_device *rtc, struct rtc_task *task, int freq); extern int rtc_update_irq_enable(struct rtc_device *rtc, unsigned int enabled); extern int rtc_alarm_irq_enable(struct rtc_device *rtc, unsigned int enabled); +extern int rtc_dev_update_irq_enable_emul(struct rtc_device *rtc, + unsigned int enabled); +void rtc_handle_legacy_irq(struct rtc_device *rtc, int num, int mode); void rtc_aie_update_irq(void *private); void rtc_uie_update_irq(void *private); enum hrtimer_restart rtc_pie_update_irq(struct hrtimer *timer); |