UEFI time services, GetTime(), SetTime(), GetWakeupTime(), SetWakeupTime() are also supported by other non-IA64 architecutre with UEFI BIOS, e.g. x86. This patch changed RTC_DRV_EFI configuration to depend on EFI but not just IA64. It checks efi_enabled flag and efi-rtc driver should enabled. Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jan Beulich <JBeulich@xxxxxxxx> Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> --- arch/x86/platform/efi/efi.c | 17 +++++++++++++++++ drivers/rtc/Kconfig | 2 +- 2 files changed, 18 insertions(+), 1 deletions(-) diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 7a7a692..42d6052 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@ -42,6 +42,7 @@ #include <linux/io.h> #include <linux/reboot.h> #include <linux/bcd.h> +#include <linux/platform_device.h> #include <asm/setup.h> #include <asm/efi.h> @@ -876,6 +877,22 @@ void __init efi_enter_virtual_mode(void) 0, NULL); } +static struct platform_device rtc_efi_dev = { + .name = "rtc-efi", + .id = -1, +}; + +static int __init rtc_init(void) +{ + if (efi_enabled(EFI_RUNTIME_SERVICES) && + platform_device_register(&rtc_efi_dev) < 0) + pr_err("unable to register rtc-efi device...\n"); + + /* not necessarily an error */ + return 0; +} +arch_initcall(rtc_init); + /* * Convenience functions to obtain memory types and attributes */ diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 349dbc4..bee13de 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -726,7 +726,7 @@ config RTC_DRV_DA9055 config RTC_DRV_EFI tristate "EFI RTC" - depends on IA64 + depends on EFI help If you say yes here you will get support for the EFI Real Time Clock. -- 1.6.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html