git: 5c69be708433 - main - acpi: Ignore _STA and never disable AT RTC devices

From: Takanori Watanabe <takawata_at_FreeBSD.org>
Date: Fri, 21 Jan 2022 06:37:21 UTC
The branch main has been updated by takawata:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c69be708433c7027b6a08f3d1487cd93d93318f

commit 5c69be708433c7027b6a08f3d1487cd93d93318f
Author:     Takanori Watanabe <takawata@FreeBSD.org>
AuthorDate: 2022-01-21 06:30:46 +0000
Commit:     Takanori Watanabe <takawata@FreeBSD.org>
CommitDate: 2022-01-21 06:30:46 +0000

    acpi: Ignore _STA and never disable AT RTC devices
    
    atrtc(4) should always install a SystemCMOS address space handler unless
    the RTC Not Present bit is not set in IAPC_BOOT_ARCH in the FADT.
    The atrtc(4) driver already checks this bit, but _STA can return not-present
    even when this bit is clear.
    
    Reviewed by : jhb
    Differential Revision: https://reviews.freebsd.org/D33891
---
 sys/dev/acpica/acpi.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index cd465fdce72b..a2ea69086559 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -2260,6 +2260,15 @@ acpi_probe_child(ACPI_HANDLE handle, UINT32 level, void *context, void **status)
 		/* Never disable PCI link devices. */
 		if (acpi_MatchHid(handle, "PNP0C0F"))
 		    break;
+
+		/*
+		 * RTC Device should be enabled for CMOS register space
+		 * unless FADT indicate it is not present.
+		 * (checked in RTC probe routine.)
+		 */
+		if (acpi_MatchHid(handle, "PNP0B00"))
+		    break;
+
 		/*
 		 * Docking stations should remain enabled since the system
 		 * may be undocked at boot.