[PATCH v2] rtc: rtc-mc146818-lib: Use is_leap_year instead of calculate leap years

From: Nobuhiro Iwamatsu
Date: Mon Oct 07 2024 - 19:37:02 EST


From: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx>

The is_leap_year() for determining leap year is provided in rtc lib.
This uses is_leap_year() instead of its own leap year determination
routine.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@xxxxxxxxxxx>
Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>
---
drivers/rtc/rtc-mc146818-lib.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

v2: Add Acked-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>
Eliminate the leap_yr variable.

diff --git a/drivers/rtc/rtc-mc146818-lib.c b/drivers/rtc/rtc-mc146818-lib.c
index 651bf3c279c746..dbd2d5835f002c 100644
--- a/drivers/rtc/rtc-mc146818-lib.c
+++ b/drivers/rtc/rtc-mc146818-lib.c
@@ -216,7 +216,7 @@ int mc146818_set_time(struct rtc_time *time)
unsigned char save_control, save_freq_select;
unsigned int yrs;
#ifdef CONFIG_MACH_DECSTATION
- unsigned int real_yrs, leap_yr;
+ unsigned int real_yrs;
#endif
unsigned char century = 0;

@@ -232,8 +232,6 @@ int mc146818_set_time(struct rtc_time *time)

#ifdef CONFIG_MACH_DECSTATION
real_yrs = yrs;
- leap_yr = ((!((yrs + 1900) % 4) && ((yrs + 1900) % 100)) ||
- !((yrs + 1900) % 400));
yrs = 72;

/*
@@ -241,7 +239,7 @@ int mc146818_set_time(struct rtc_time *time)
* for non-leap years, so that Feb, 29th is handled
* correctly.
*/
- if (!leap_yr && mon < 3) {
+ if (!is_leap_year(real_yrs + 1900) && mon < 3) {
real_yrs--;
yrs = 73;
}
--
2.45.2