[PATCH v2] rtc: Improve performance of rtc_time64_to_tm. Add tests.

From: Cassio Neri
Date: Sat May 29 2021 - 21:32:30 EST


Signed-off-by: Cassio Neri <cassio.neri@xxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>

---

Fix link issue on 32 bit platforms raised from the v1.

---
drivers/rtc/lib_test.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/lib_test.c b/drivers/rtc/lib_test.c
index 0060e3a72b50..e50513c8e086 100644
--- a/drivers/rtc/lib_test.c
+++ b/drivers/rtc/lib_test.c
@@ -45,13 +45,16 @@ static void rtc_time64_to_tm_test_date_range(struct kunit *test)

struct rtc_time result;
time64_t secs;
+ s64 days;

for (secs = 0; secs <= total_secs; secs += 86400) {

rtc_time64_to_tm(secs, &result);

+ days = div_s64(secs, 86400);
+
#define FAIL_MSG "%d/%02d/%02d (%2d) : %ld", \
- year, month, mday, yday, secs/86400
+ year, month, mday, yday, days

KUNIT_ASSERT_EQ_MSG(test, year - 1900, result.tm_year, FAIL_MSG);
KUNIT_ASSERT_EQ_MSG(test, month - 1, result.tm_mon, FAIL_MSG);

base-commit: bcae59d0d45b866d5b9525ea8ece6d671e6767c8
prerequisite-patch-id: ea804a9b3d52cd4f6bfbbf1c53260cb8f2d2c60b
--
2.31.0