]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
x86/ACPI: Move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code
authorLuis R. Rodriguez <mcgrof@kernel.org>
Thu, 14 Apr 2016 00:04:35 +0000 (17:04 -0700)
committerIngo Molnar <mingo@kernel.org>
Fri, 22 Apr 2016 08:29:01 +0000 (10:29 +0200)
This moves the ACPI specific check into the ACPI boot code,
it also takes advantage of the x86_platform.legacy.rtc which
is checked for already on the RTC initialization code. This
lets us remove the nasty #ifdefery and consolidate the checks
to use only one toggle to disable the RTC init code.

The works as RTC is initialized by device_initcall(add_rtc_cmos),
this will run late in boot on start_kernel() during rest_init(),
acpi_parse_fadt() gets called earlier during setup_arch().

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: andrew.cooper3@citrix.com
Cc: andriy.shevchenko@linux.intel.com
Cc: bigeasy@linutronix.de
Cc: boris.ostrovsky@oracle.com
Cc: david.vrabel@citrix.com
Cc: ffainelli@freebox.fr
Cc: george.dunlap@citrix.com
Cc: glin@suse.com
Cc: jgross@suse.com
Cc: jlee@suse.com
Cc: josh@joshtriplett.org
Cc: julien.grall@linaro.org
Cc: konrad.wilk@oracle.com
Cc: kozerkov@parallels.com
Cc: lenb@kernel.org
Cc: lguest@lists.ozlabs.org
Cc: linux-acpi@vger.kernel.org
Cc: lv.zheng@intel.com
Cc: matt@codeblueprint.co.uk
Cc: mbizon@freebox.fr
Cc: rjw@rjwysocki.net
Cc: robert.moore@intel.com
Cc: rusty@rustcorp.com.au
Cc: tiwai@suse.de
Cc: toshi.kani@hp.com
Cc: xen-devel@lists.xensource.com
Link: http://lkml.kernel.org/r/1460592286-300-6-git-send-email-mcgrof@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/rtc.c

index 8c2f1ef6ca236ea16b9ae25a390b32d33ef566d4..8c9c2bdba092b1025c2d30a9d2c84a3ebbd08e82 100644 (file)
@@ -913,6 +913,10 @@ late_initcall(hpet_insert_resource);
 
 static int __init acpi_parse_fadt(struct acpi_table_header *table)
 {
+       if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) {
+               pr_debug("ACPI: not registering RTC platform device\n");
+               x86_platform.legacy.rtc = 0;
+       }
 
 #ifdef CONFIG_X86_PM_TIMER
        /* detect the location of the ACPI PM Timer */
index 62c48da3889db273e4915c86affd5636313c7c97..ff4f4180fefd299f4fe0c144b53d7c70193d908d 100644 (file)
@@ -189,14 +189,6 @@ static __init int add_rtc_cmos(void)
        if (of_have_populated_dt())
                return 0;
 
-#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
-
        if (!x86_platform.legacy.rtc)
                return -ENODEV;