From: Ard Biesheuvel Date: Tue, 9 Jun 2015 09:15:35 +0000 (+0200) Subject: rtc: efi: use correct EFI 'epoch' X-Git-Tag: omap-for-v4.2/fixes-rc1^2~107^2~10 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2bd2370a25b78a7090ac701836d414cdb731bea;p=pandora-kernel.git rtc: efi: use correct EFI 'epoch' The rtc-efi driver declares that the EFI 'epoch' is 1/1/1998, but the UEFI spec does not define it at all. It does define a range of [1900, 9999] for the 'Year' member of the EFI_TIME struct, so let's use 1900 as the minimum year and not 1998. Also, move the validation of the year to the convert_from_efi_time() routine where all other EFI_TIME fields are validated as well. This prevents rtc_read_time() failures when the RTC that backs the EFI time services is set to a date before 1998, e.g., when it has lost power. This also optimizes the compute_wday() routine, by replacing the for loop with a simple arithmetic expression, and by reusing the yearday value that we need to compute anyway when populating the rtc_time::tm_yday field. Cc: Alessandro Zummo Cc: Alexandre Belloni Cc: rtc-linux@googlegroups.com Signed-off-by: Ard Biesheuvel Signed-off-by: Alexandre Belloni --- Reading git-diff-tree failed