From 05429b6cf5b3f30f773b8e79fe4cd3688349d7d2 Mon Sep 17 00:00:00 2001
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
Date: Wed, 13 Nov 2019 09:44:49 +0900
Subject: [PATCH] rtc: move date.c from drivers/rtc/ to lib/

In the next commit, rtc_mktime(), for compatibility with linux, will be
implemented using rtc_mktime(), which is no longer drivers/rtc specific.
So move this file under lib/.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
---
 cmd/Kconfig                 | 1 +
 drivers/rtc/Kconfig         | 1 +
 drivers/rtc/Makefile        | 1 -
 lib/Kconfig                 | 3 +++
 lib/Makefile                | 2 ++
 {drivers/rtc => lib}/date.c | 5 ++---
 6 files changed, 9 insertions(+), 4 deletions(-)
 rename {drivers/rtc => lib}/date.c (96%)

diff --git a/cmd/Kconfig b/cmd/Kconfig
index a2b9e19bbe..bc8318d7fa 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1625,6 +1625,7 @@ config CMD_LED
 config CMD_DATE
 	bool "date"
 	default y if DM_RTC
+	select LIB_DATE
 	help
 	  Enable the 'date' command for getting/setting the time/date in RTC
 	  devices.
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 8778cc7b26..89e71cc7eb 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -7,6 +7,7 @@ menu "Real Time Clock"
 config DM_RTC
 	bool "Enable Driver Model for RTC drivers"
 	depends on DM
+	select LIB_DATE
 	help
 	  Enable drver model for real-time-clock drivers. The RTC uclass
 	  then provides the rtc_get()/rtc_set() interface, delegating to
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
index f97a669982..e8875ce10f 100644
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
@@ -7,7 +7,6 @@
 obj-$(CONFIG_$(SPL_TPL_)DM_RTC) += rtc-uclass.o
 
 obj-$(CONFIG_RTC_AT91SAM9_RTT) += at91sam9_rtt.o
-obj-y += date.o
 obj-y += rtc-lib.o
 obj-$(CONFIG_RTC_DAVINCI) += davinci.o
 obj-$(CONFIG_RTC_DS1302) += ds1302.o
diff --git a/lib/Kconfig b/lib/Kconfig
index 55dedcbcdd..2c018cb096 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -574,4 +574,7 @@ config TEST_FDTDEC
 	bool "enable fdtdec test"
 	depends on OF_LIBFDT
 
+config LIB_DATE
+	bool
+
 endmenu
diff --git a/lib/Makefile b/lib/Makefile
index e15a189f65..90d4425bd6 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -117,4 +117,6 @@ else
 obj-y += vsprintf.o strto.o
 endif
 
+obj-y += date.o
+
 subdir-ccflags-$(CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED) += -O2
diff --git a/drivers/rtc/date.c b/lib/date.c
similarity index 96%
rename from drivers/rtc/date.c
rename to lib/date.c
index c57317d2c2..63af4a1426 100644
--- a/drivers/rtc/date.c
+++ b/lib/date.c
@@ -9,8 +9,7 @@
 #include <errno.h>
 #include <rtc.h>
 
-#if defined(CONFIG_CMD_DATE) || defined(CONFIG_DM_RTC) || \
-				defined(CONFIG_TIMESTAMP)
+#if defined(CONFIG_LIB_DATE) || defined(CONFIG_TIMESTAMP)
 
 #define FEBRUARY		2
 #define	STARTOFTIME		1970
@@ -97,4 +96,4 @@ unsigned long rtc_mktime(const struct rtc_time *tm)
 	return (hours * 60 + tm->tm_min) * 60 + tm->tm_sec;
 }
 
-#endif
+#endif /* CONFIG_LIB_DATE || CONFIG_TIMESTAMP */
-- 
2.39.5