summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2011-04-30 00:03:10 +0200
committerThomas Gleixner <tglx@linutronix.de>2011-05-02 21:36:57 +0200
commit472647dcd7e351dbeda750e5ab3e8f7b06d1199a (patch)
tree536842fa33d135d4b18e6d1dd5cf573a5b53719c
parenttimers: Remove delayed irqwork from alarmtimers implementation (diff)
downloadlinux-472647dcd7e351dbeda750e5ab3e8f7b06d1199a.tar.xz
linux-472647dcd7e351dbeda750e5ab3e8f7b06d1199a.zip
timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS=n
Ingo pointed out that the alarmtimers won't build if CONFIG_RTC_CLASS=n. This patch adds proper ifdefs to the alarmtimer code to disable the rtc usage if it is not built in. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--kernel/time/alarmtimer.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index 491e37b8de1f..9265014cb4db 100644
--- a/kernel/time/alarmtimer.c
+++ b/kernel/time/alarmtimer.c
@@ -42,9 +42,11 @@ static struct alarm_base {
clockid_t base_clockid;
} alarm_bases[ALARM_NUMTYPE];
+#ifdef CONFIG_RTC_CLASS
/* rtc timer and device for setting alarm wakeups at suspend */
static struct rtc_timer rtctimer;
static struct rtc_device *rtcdev;
+#endif
/* freezer delta & lock used to handle clock_nanosleep triggered wakeups */
static ktime_t freezer_delta;
@@ -148,7 +150,7 @@ static enum hrtimer_restart alarmtimer_fired(struct hrtimer *timer)
}
-
+#ifdef CONFIG_RTC_CLASS
/**
* alarmtimer_suspend - Suspend time callback
* @dev: unused
@@ -206,7 +208,12 @@ static int alarmtimer_suspend(struct device *dev)
return 0;
}
-
+#else
+static int alarmtimer_suspend(struct device *dev)
+{
+ return 0;
+}
+#endif
static void alarmtimer_freezerset(ktime_t absexp, enum alarmtimer_type type)
{
@@ -631,6 +638,7 @@ static int __init alarmtimer_init(void)
}
device_initcall(alarmtimer_init);
+#ifdef CONFIG_RTC_CLASS
/**
* has_wakealarm - check rtc device has wakealarm ability
* @dev: current device
@@ -675,4 +683,12 @@ static int __init alarmtimer_init_late(void)
return 0;
}
+#else
+static int __init alarmtimer_init_late(void)
+{
+ printk(KERN_WARNING "Kernel not built with RTC support, ALARM timers"
+ " will not wake from suspend");
+ return 0;
+}
+#endif
late_initcall(alarmtimer_init_late);