diff options
Diffstat (limited to 'arch/x86/platform/efi')
-rw-r--r-- | arch/x86/platform/efi/efi.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index b410b71bdcf7..c8d5577044bb 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c | |||
@@ -274,8 +274,9 @@ static efi_status_t __init phys_efi_get_time(efi_time_t *tm, | |||
274 | return status; | 274 | return status; |
275 | } | 275 | } |
276 | 276 | ||
277 | int efi_set_rtc_mmss(unsigned long nowtime) | 277 | int efi_set_rtc_mmss(const struct timespec *now) |
278 | { | 278 | { |
279 | unsigned long nowtime = now->tv_sec; | ||
279 | efi_status_t status; | 280 | efi_status_t status; |
280 | efi_time_t eft; | 281 | efi_time_t eft; |
281 | efi_time_cap_t cap; | 282 | efi_time_cap_t cap; |
@@ -310,7 +311,7 @@ int efi_set_rtc_mmss(unsigned long nowtime) | |||
310 | return 0; | 311 | return 0; |
311 | } | 312 | } |
312 | 313 | ||
313 | unsigned long efi_get_time(void) | 314 | void efi_get_time(struct timespec *now) |
314 | { | 315 | { |
315 | efi_status_t status; | 316 | efi_status_t status; |
316 | efi_time_t eft; | 317 | efi_time_t eft; |
@@ -320,8 +321,9 @@ unsigned long efi_get_time(void) | |||
320 | if (status != EFI_SUCCESS) | 321 | if (status != EFI_SUCCESS) |
321 | pr_err("Oops: efitime: can't read time!\n"); | 322 | pr_err("Oops: efitime: can't read time!\n"); |
322 | 323 | ||
323 | return mktime(eft.year, eft.month, eft.day, eft.hour, | 324 | now->tv_sec = mktime(eft.year, eft.month, eft.day, eft.hour, |
324 | eft.minute, eft.second); | 325 | eft.minute, eft.second); |
326 | now->tv_nsec = 0; | ||
325 | } | 327 | } |
326 | 328 | ||
327 | /* | 329 | /* |