diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/time/alarmtimer.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index c16548807f1e..8a538c55fc7b 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c | |||
@@ -46,10 +46,9 @@ static struct alarm_base { | |||
46 | static ktime_t freezer_delta; | 46 | static ktime_t freezer_delta; |
47 | static DEFINE_SPINLOCK(freezer_delta_lock); | 47 | static DEFINE_SPINLOCK(freezer_delta_lock); |
48 | 48 | ||
49 | static struct rtc_timer rtctimer; | ||
50 | |||
51 | #ifdef CONFIG_RTC_CLASS | 49 | #ifdef CONFIG_RTC_CLASS |
52 | /* rtc timer and device for setting alarm wakeups at suspend */ | 50 | /* rtc timer and device for setting alarm wakeups at suspend */ |
51 | static struct rtc_timer rtctimer; | ||
53 | static struct rtc_device *rtcdev; | 52 | static struct rtc_device *rtcdev; |
54 | static DEFINE_SPINLOCK(rtcdev_lock); | 53 | static DEFINE_SPINLOCK(rtcdev_lock); |
55 | 54 | ||
@@ -97,6 +96,11 @@ static int alarmtimer_rtc_add_device(struct device *dev, | |||
97 | return 0; | 96 | return 0; |
98 | } | 97 | } |
99 | 98 | ||
99 | static inline void alarmtimer_rtc_timer_init(void) | ||
100 | { | ||
101 | rtc_timer_init(&rtctimer, NULL, NULL); | ||
102 | } | ||
103 | |||
100 | static struct class_interface alarmtimer_rtc_interface = { | 104 | static struct class_interface alarmtimer_rtc_interface = { |
101 | .add_dev = &alarmtimer_rtc_add_device, | 105 | .add_dev = &alarmtimer_rtc_add_device, |
102 | }; | 106 | }; |
@@ -118,6 +122,7 @@ static inline struct rtc_device *alarmtimer_get_rtcdev(void) | |||
118 | #define rtcdev (NULL) | 122 | #define rtcdev (NULL) |
119 | static inline int alarmtimer_rtc_interface_setup(void) { return 0; } | 123 | static inline int alarmtimer_rtc_interface_setup(void) { return 0; } |
120 | static inline void alarmtimer_rtc_interface_remove(void) { } | 124 | static inline void alarmtimer_rtc_interface_remove(void) { } |
125 | static inline void alarmtimer_rtc_timer_init(void) { } | ||
121 | #endif | 126 | #endif |
122 | 127 | ||
123 | /** | 128 | /** |
@@ -784,7 +789,7 @@ static int __init alarmtimer_init(void) | |||
784 | .nsleep = alarm_timer_nsleep, | 789 | .nsleep = alarm_timer_nsleep, |
785 | }; | 790 | }; |
786 | 791 | ||
787 | rtc_timer_init(&rtctimer, NULL, NULL); | 792 | alarmtimer_rtc_timer_init(); |
788 | 793 | ||
789 | posix_timers_register_clock(CLOCK_REALTIME_ALARM, &alarm_clock); | 794 | posix_timers_register_clock(CLOCK_REALTIME_ALARM, &alarm_clock); |
790 | posix_timers_register_clock(CLOCK_BOOTTIME_ALARM, &alarm_clock); | 795 | posix_timers_register_clock(CLOCK_BOOTTIME_ALARM, &alarm_clock); |