x86/time: Honor ACPI FADT flag indicating absence of a CMOS RTC
authorJan Beulich <JBeulich@suse.com>
Mon, 21 Oct 2013 08:31:57 +0000 (09:31 +0100)
committerIngo Molnar <mingo@kernel.org>
Sat, 26 Oct 2013 11:36:00 +0000 (13:36 +0200)
Even though the omission was found only during code review
(originally in the Xen hypervisor, looking through ACPI v5 flags
and their meanings and uses), we shouldn't be creating a
corresponding platform device in that case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: John Stultz <john.stultz@linaro.org>
Link: http://lkml.kernel.org/r/5265029D02000078000FC4D2@nat28.tlf.novell.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/rtc.c

index 0aa2939..5b9dd44 100644 (file)
@@ -192,6 +192,14 @@ static __init int add_rtc_cmos(void)
        if (mrst_identify_cpu())
                return -ENODEV;
 
+#ifdef CONFIG_ACPI
+       if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) {
+               /* This warning can likely go away again in a year or two. */
+               pr_info("ACPI: not registering RTC platform device\n");
+               return -ENODEV;
+       }
+#endif
+
        platform_device_register(&rtc_device);
        dev_info(&rtc_device.dev,
                 "registered platform RTC device (no PNP device found)\n");