Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1378362

[PATCH v6 05/16] x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code

From "Luis R. Rodriguez" <mcgrof@kernel.org>
Newsgroups linux.kernel
Subject [PATCH v6 05/16] x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code
Date 2016-04-14 02:20 +0200
Message-ID <rnDaN-1iT-5@gated-at.bofh.it> (permalink)
References <rnD18-1fm-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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>
---
 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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v6 00/16] x86: remove paravirt_enabled() "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 06/16] x86/init: use a platform legacy quirk for ebda "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 12/16] x86, ACPI: parse ACPI_FADT_LEGACY_DEVICES "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 11/16] pnpbios: replace paravirt_enabled() check with legacy device check "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 08/16] apm32: remove paravirt_enabled() use "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 07/16] tools/lguest: force disable tboot and apm "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 03/16] tools/lguest: make lguest launcher use X86_SUBARCH_LGUEST explicitly "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 01/16] x86/boot: enumerate documentation for the x86 hardware_subarch "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 16/16] x86/init: disable pnpbios and rtc for X86_SUBARCH_CE4100 "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 10/16] x86/cpu/intel: remove not needed paravirt_enabled() for f00f work around "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 14/16] x86/paravirt: remove paravirt_enabled() "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 15/16] x86/init: disable pnpbios for X86_SUBARCH_INTEL_MID "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 13/16] x86/init: rename ebda code file "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
  [PATCH v6 04/16] x86/rtc: replace paravirt rtc check with platform legacy quirk "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:10 +0200
    Re: [PATCH v6 04/16] x86/rtc: replace paravirt rtc check with  platform legacy quirk Juergen Gross <jgross@suse.com> - 2016-04-14 06:30 +0200
  [PATCH v6 07/16] tools/lguest: force disable tboot and apm "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:20 +0200
  [PATCH v6 05/16] x86, ACPI: move ACPI_FADT_NO_CMOS_RTC check to ACPI boot code "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:20 +0200
  [PATCH v6 12/16] x86, ACPI: parse ACPI_FADT_LEGACY_DEVICES "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-04-14 02:20 +0200

csiph-web