[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1460158825-13117-6-git-send-email-mcgrof@kernel.org>
Date: Fri, 8 Apr 2016 16:40:16 -0700
From: "Luis R. Rodriguez" <mcgrof@...nel.org>
To: bp@...en8.de, hpa@...or.com, tglx@...utronix.de, mingo@...hat.com,
rusty@...tcorp.com.au
Cc: x86@...nel.org, linux-kernel@...r.kernel.org, luto@...capital.net,
boris.ostrovsky@...cle.com, david.vrabel@...rix.com,
konrad.wilk@...cle.com, xen-devel@...ts.xensource.com,
lguest@...ts.ozlabs.org, andriy.shevchenko@...ux.intel.com,
jlee@...e.com, glin@...e.com, matt@...eblueprint.co.uk,
andrew.cooper3@...rix.com, rjw@...ysocki.net, lenb@...nel.org,
robert.moore@...el.com, lv.zheng@...el.com, toshi.kani@...com,
linux-acpi@...r.kernel.org, kozerkov@...allels.com,
josh@...htriplett.org, joro@...tes.org, tiwai@...e.de,
"Luis R. Rodriguez" <mcgrof@...nel.org>
Subject: [PATCH v5 05/14] x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code
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@...nel.org>
---
arch/x86/kernel/acpi/boot.c | 4 ++++
arch/x86/kernel/rtc.c | 8 --------
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 8c2f1ef6ca23..8c9c2bdba092 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -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 */
diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
index 62c48da3889d..ff4f4180fefd 100644
--- a/arch/x86/kernel/rtc.c
+++ b/arch/x86/kernel/rtc.c
@@ -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;
--
2.7.2
Powered by blists - more mailing lists