RTC: Fix rtc driver ioctl specific shortcutting
authorJohn Stultz <john.stultz@linaro.org>
Thu, 3 Feb 2011 00:55:19 +0000 (16:55 -0800)
committerJohn Stultz <john.stultz@linaro.org>
Thu, 3 Feb 2011 21:02:18 +0000 (13:02 -0800)
commitac54cd2bd5b4db4f1c03392d63daf355627ea180
tree32a1ff604bfebf873f6f586aceba16d1b565fe1a
parent83a06bf50bdf2074b9404951ff60e142d159d93b
RTC: Fix rtc driver ioctl specific shortcutting

Some RTC drivers enable functionality directly via their ioctl method
instead of using the generic ioctl handling code. With the recent
virtualization of the RTC layer, its now important that the generic
layer always be used.

This patch moved the rtc driver ioctl method call to after the generic
ioctl processing is done. This allows hardware specific features or
ioctls to still function, while relying on the generic code for handling
everything else.

This patch on its own may more obviously break rtc drivers that
implement the alarm irq enablement via their ioctl method instead of
implementing the alarm_irq_eanble method. Those drivers will be fixed
in a following patch. Additionaly, those drivers are already likely to
not be functioning reliably without this patch.

CC: Alessandro Zummo <a.zummo@towertech.it>
CC: Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
CC: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
Tested-by: Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
Signed-off-by: John Stultz <john.stultz@linaro.org>
drivers/rtc/rtc-dev.c