mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
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:
parent
7068b7a162
commit
472647dcd7
1 changed files with 18 additions and 2 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue