RTC: Propagate error handling via rtc_timer_enqueue properly
In cases where RTC hardware does not support alarms, the virtualized
RTC interfaces did not have a way to propagate the error up to userland.
This patch extends rtc_timer_enqueue so it catches errors from the hardware
and returns them upwards to the virtualized interfaces. To simplify error
handling, it also internalizes the management of the timer->enabled bit
into rtc_timer_enqueue and rtc_timer_remove.
Also makes rtc_timer_enqueue and rtc_timer_remove static.
Reported-by: David Daney <[email protected]>
Reported-by: Andreas Schwab <[email protected]>
Reported-by: Geert Uytterhoeven <[email protected]>
Diagnosed-by: David Daney <[email protected]>
Tested-by: David Daney <[email protected]>
Signed-off-by: John Stultz <[email protected]>
LKML-Reference: <
1295565973[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>