diff options
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-lib.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/rtc/rtc-lib.c b/drivers/rtc/rtc-lib.c index dd70bf73ce9d..773851f338b8 100644 --- a/drivers/rtc/rtc-lib.c +++ b/drivers/rtc/rtc-lib.c | |||
@@ -26,14 +26,13 @@ static const unsigned short rtc_ydays[2][13] = { | |||
26 | }; | 26 | }; |
27 | 27 | ||
28 | #define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400) | 28 | #define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400) |
29 | #define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400)) | ||
30 | 29 | ||
31 | /* | 30 | /* |
32 | * The number of days in the month. | 31 | * The number of days in the month. |
33 | */ | 32 | */ |
34 | int rtc_month_days(unsigned int month, unsigned int year) | 33 | int rtc_month_days(unsigned int month, unsigned int year) |
35 | { | 34 | { |
36 | return rtc_days_in_month[month] + (LEAP_YEAR(year) && month == 1); | 35 | return rtc_days_in_month[month] + (is_leap_year(year) && month == 1); |
37 | } | 36 | } |
38 | EXPORT_SYMBOL(rtc_month_days); | 37 | EXPORT_SYMBOL(rtc_month_days); |
39 | 38 | ||
@@ -42,7 +41,7 @@ EXPORT_SYMBOL(rtc_month_days); | |||
42 | */ | 41 | */ |
43 | int rtc_year_days(unsigned int day, unsigned int month, unsigned int year) | 42 | int rtc_year_days(unsigned int day, unsigned int month, unsigned int year) |
44 | { | 43 | { |
45 | return rtc_ydays[LEAP_YEAR(year)][month] + day-1; | 44 | return rtc_ydays[is_leap_year(year)][month] + day-1; |
46 | } | 45 | } |
47 | EXPORT_SYMBOL(rtc_year_days); | 46 | EXPORT_SYMBOL(rtc_year_days); |
48 | 47 | ||
@@ -66,7 +65,7 @@ void rtc_time_to_tm(unsigned long time, struct rtc_time *tm) | |||
66 | - LEAPS_THRU_END_OF(1970 - 1); | 65 | - LEAPS_THRU_END_OF(1970 - 1); |
67 | if (days < 0) { | 66 | if (days < 0) { |
68 | year -= 1; | 67 | year -= 1; |
69 | days += 365 + LEAP_YEAR(year); | 68 | days += 365 + is_leap_year(year); |
70 | } | 69 | } |
71 | tm->tm_year = year - 1900; | 70 | tm->tm_year = year - 1900; |
72 | tm->tm_yday = days + 1; | 71 | tm->tm_yday = days + 1; |