diff options
author | Simon Glass <sjg@chromium.org> | 2015-04-20 12:37:22 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-05-05 20:58:20 -0600 |
commit | 94eefdee2f5db36d52e817a01b07c8255527e193 (patch) | |
tree | adb1ffa3737bbc59a7b2eb0da93144f953865012 | |
parent | aac5119822041febafdab3fc9ab6dbbe6ea96bff (diff) | |
download | u-boot-imx-94eefdee2f5db36d52e817a01b07c8255527e193.zip u-boot-imx-94eefdee2f5db36d52e817a01b07c8255527e193.tar.gz u-boot-imx-94eefdee2f5db36d52e817a01b07c8255527e193.tar.bz2 |
dm: sandbox: Add os_localtime() to obtain the system time
Add a function to read the system time into U-Boot.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | arch/sandbox/cpu/os.c | 18 | ||||
-rw-r--r-- | include/os.h | 11 |
2 files changed, 29 insertions, 0 deletions
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index 4d5f805..e6dd17e 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -24,6 +24,7 @@ #include <asm/sections.h> #include <asm/state.h> #include <os.h> +#include <rtc_def.h> /* Operating System Interface */ @@ -537,3 +538,20 @@ int os_jump_to_image(const void *dest, int size) return unlink(fname); } + +void os_localtime(struct rtc_time *rt) +{ + time_t t = time(NULL); + struct tm *tm; + + tm = localtime(&t); + rt->tm_sec = tm->tm_sec; + rt->tm_min = tm->tm_min; + rt->tm_hour = tm->tm_hour; + rt->tm_mday = tm->tm_mday; + rt->tm_mon = tm->tm_mon + 1; + rt->tm_year = tm->tm_year + 1900; + rt->tm_wday = tm->tm_wday; + rt->tm_yday = tm->tm_yday; + rt->tm_isdst = tm->tm_isdst; +} diff --git a/include/os.h b/include/os.h index a758f09..ffbdce8 100644 --- a/include/os.h +++ b/include/os.h @@ -13,6 +13,7 @@ #include <linux/types.h> +struct rtc_time; struct sandbox_state; /** @@ -277,4 +278,14 @@ int os_read_ram_buf(const char *fname); */ int os_jump_to_image(const void *dest, int size); +/** + * Read the current system time + * + * This reads the current Local Time and places it into the provided + * structure. + * + * @param rt Place to put system time + */ +void os_localtime(struct rtc_time *rt); + #endif |