alarmtimers: Return -ENOTSUPP if no RTC device is present
authorJohn Stultz <john.stultz@linaro.org>
Fri, 17 Jun 2011 01:47:37 +0000 (18:47 -0700)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 21 Jun 2011 23:32:28 +0000 (16:32 -0700)
commit1c6b39ad3f01514fd8dd84b5b412bafb75c19388
treebd31cf5d3e67acc9ef23c97ddd92c961b73f40c7
parentc008ba58af24dc5d0d8e9fe6e59d876910254761
alarmtimers: Return -ENOTSUPP if no RTC device is present

Toralf Förster and Richard Weinberger noted that if there is
no RTC device, the alarm timers core prints out an annoying
"ALARM timers will not wake from suspend" message.

This warning has been removed in a previous patch, however
the issue still remains:  The original idea was to support
alarm timers even if there was no rtc device, as long as the
system didn't go into suspend.

However, after further consideration, communicating to the application
that alarmtimers are not fully functional seems like the better
solution.

So this patch makes it so we return -ENOTSUPP to any posix _ALARM
clockid calls if there is no backing RTC device on the system.

Further this changes the behavior where when there is no rtc device
we will check for one on clock_getres, clock_gettime, timer_create,
and timer_nsleep instead of on suspend.

CC: Toralf Förster <toralf.foerster@gmx.de>
CC: Richard Weinberger <richard@nod.at
CC: Peter Zijlstra <peterz@infradead.org>
CC: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Toralf Förster <toralf.foerster@gmx.de>
Reported by: Richard Weinberger <richard@nod.at>
Signed-off-by: John Stultz <john.stultz@linaro.org>
kernel/time/alarmtimer.c