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>
This commit is contained in:
John Stultz 2011-04-29 15:03:10 -07:00 committed by Thomas Gleixner
parent 7068b7a162
commit 472647dcd7
1 changed files with 18 additions and 2 deletions

View File

@ -42,9 +42,11 @@ static struct alarm_base {
clockid_t base_clockid; clockid_t base_clockid;
} alarm_bases[ALARM_NUMTYPE]; } alarm_bases[ALARM_NUMTYPE];
#ifdef CONFIG_RTC_CLASS
/* rtc timer and device for setting alarm wakeups at suspend */ /* rtc timer and device for setting alarm wakeups at suspend */
static struct rtc_timer rtctimer; static struct rtc_timer rtctimer;
static struct rtc_device *rtcdev; static struct rtc_device *rtcdev;
#endif
/* freezer delta & lock used to handle clock_nanosleep triggered wakeups */ /* freezer delta & lock used to handle clock_nanosleep triggered wakeups */
static ktime_t freezer_delta; 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 * alarmtimer_suspend - Suspend time callback
* @dev: unused * @dev: unused
@ -206,7 +208,12 @@ static int alarmtimer_suspend(struct device *dev)
return 0; return 0;
} }
#else
static int alarmtimer_suspend(struct device *dev)
{
return 0;
}
#endif
static void alarmtimer_freezerset(ktime_t absexp, enum alarmtimer_type type) 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); device_initcall(alarmtimer_init);
#ifdef CONFIG_RTC_CLASS
/** /**
* has_wakealarm - check rtc device has wakealarm ability * has_wakealarm - check rtc device has wakealarm ability
* @dev: current device * @dev: current device
@ -675,4 +683,12 @@ static int __init alarmtimer_init_late(void)
return 0; 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); late_initcall(alarmtimer_init_late);