From: Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
To: linux-acpi@vger.kernel.org, linux-rtc@vger.kernel.org
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
Len Brown <lenb@kernel.org>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Ard Biesheuvel <ardb@kernel.org>,
Hamza Mahfooz <hamzamahfooz@linux.microsoft.com>
Subject: [PATCH v4 0/2] rtc: efi: defer to the ACPI TAD if it can drive the RTC
Date: Tue, 27 Oct 2026 18:05:34 -0400 [thread overview]
Message-ID: <20261027220537.3443104-1-hamzamahfooz@linux.microsoft.com> (raw)
On Microsoft C2141 and C4143 systems, the EFI GetTime() runtime service
faults when called by rtc-efi, which causes all EFI runtime services to
be disabled, even though the RTC can be driven via the ACPI Time and
Alarm Device (TAD) instead, which acpi-tad registers an RTC class device
for since commit 8a1e7f4b1764 ("ACPI: TAD: Add RTC class device
interface").
As suggested by Ard, add acpi_has_rtc() to the TAD driver (patch 1),
and make rtc-efi decline to probe if it returns true (patch 2).
v2:
- Rename acpi_tad_rtc_available() to acpi_has_rtc(), move it to within
acpi-tad (which allows us to simplify it quite a bit) and declare it
in linux/acpi.h. (Ard)
- Add acpi_disabled check. (Ard)
- Make rtc-efi decline to probe instead of not registering the device in
efisubsys_init(). (Ard)
- Make RTC_DRV_EFI depend on !ACPI || ACPI_TAD. (Ard)
v3:
- Make RTC_DRV_EFI depend on ACPI_TAD || !ACPI_TAD. (Sashiko)
v4:
- Move acpi-tad code to existing CONFIG_RTC_CLASS #ifdef. (Rafael)
- Add IS_ENABLED(CONFIG_RTC_CLASS) case to linux/acpi.h.
Hamza Mahfooz (2):
ACPI: TAD: introduce acpi_has_rtc()
rtc: efi: defer to the ACPI TAD if it can drive the RTC
drivers/acpi/acpi_tad.c | 48 ++++++++++++++++++++++++++++++++++++-----
drivers/rtc/Kconfig | 5 +++++
drivers/rtc/rtc-efi.c | 4 ++++
include/linux/acpi.h | 6 ++++++
4 files changed, 58 insertions(+), 5 deletions(-)
--
2.56.0
next reply other threads:[~2026-10-27 22:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 22:05 Hamza Mahfooz [this message]
2026-10-27 22:05 ` [PATCH v4 1/2] ACPI: TAD: introduce acpi_has_rtc() Hamza Mahfooz
2026-10-27 22:16 ` sashiko-bot
2026-10-27 22:05 ` [PATCH v4 2/2] rtc: efi: defer to the ACPI TAD if it can drive the RTC Hamza Mahfooz
2026-10-27 22:10 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261027220537.3443104-1-hamzamahfooz@linux.microsoft.com \
--to=hamzamahfooz@linux.microsoft.com \
--cc=alexandre.belloni@bootlin.com \
--cc=ardb@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.