summaryrefslogtreecommitdiffstats
path: root/include/linux/rtc.h
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2009-03-31 15:24:48 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-01 08:59:24 -0700
commit78d89ef40c2ff7265df077e20c4d76be7d415204 (patch)
tree68503b0252682a496495b7adb46f6aa278db88ae /include/linux/rtc.h
parent47367a3ba425d70467af0009782098235ddbf204 (diff)
downloadlinux-stable-78d89ef40c2ff7265df077e20c4d76be7d415204.tar.gz
linux-stable-78d89ef40c2ff7265df077e20c4d76be7d415204.tar.bz2
linux-stable-78d89ef40c2ff7265df077e20c4d76be7d415204.zip
rtc: convert LEAP_YEAR into an inline
- the LEAP_YEAR macro is buggy - it references its arg multiple times. Fix this by turning it into a C function. - give it a more approriate name - Move it to rtc.h so that other .c files can use it, instead of copying it. Cc: dann frazier <dannf@hp.com> Acked-by: Alessandro Zummo <alessandro.zummo@towertech.it> Cc: stephane eranian <eranian@googlemail.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/rtc.h')
-rw-r--r--include/linux/rtc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/rtc.h b/include/linux/rtc.h
index 4046b75563c1..60f88a7fb13d 100644
--- a/include/linux/rtc.h
+++ b/include/linux/rtc.h
@@ -99,6 +99,7 @@ struct rtc_pll_info {
#ifdef __KERNEL__
+#include <linux/types.h>
#include <linux/interrupt.h>
extern int rtc_month_days(unsigned int month, unsigned int year);
@@ -232,6 +233,11 @@ int rtc_register(rtc_task_t *task);
int rtc_unregister(rtc_task_t *task);
int rtc_control(rtc_task_t *t, unsigned int cmd, unsigned long arg);
+static inline bool is_leap_year(unsigned int year)
+{
+ return (!(year % 4) && (year % 100)) || !(year % 400);
+}
+
#endif /* __KERNEL__ */
#endif /* _LINUX_RTC_H_ */