]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86: rtc: Drop PNP device check
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 23 Feb 2026 15:31:49 +0000 (16:31 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 26 Feb 2026 17:48:43 +0000 (18:48 +0100)
Previous changes effectively prevented PNP devices from being created
for the CMOS RTC on x86 with ACPI.

Although in principle a CMOS RTC PNP device may exist on an x86 system
without ACPI (that is, an x86 system where there is no ACPI at all, not
one booted with ACPI disabled), such systems were there in the field ~30
years ago and most likely they would not be able to run a contemporary
Linux kernel.

For the above reasons, drop the PNP device check from add_rtc_cmos().

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com> # x86
Link: https://patch.msgid.link/8660687.T7Z3S40VBb@rafael.j.wysocki
arch/x86/kernel/rtc.c

index b112178e8185080587e4ba0951d3548f8c1a731b..314b062a15de98cd5b9fc6e717378182908161ec 100644 (file)
@@ -6,7 +6,6 @@
 #include <linux/platform_device.h>
 #include <linux/mc146818rtc.h>
 #include <linux/export.h>
-#include <linux/pnp.h>
 
 #include <asm/vsyscall.h>
 #include <asm/x86_init.h>
@@ -134,19 +133,6 @@ static struct platform_device rtc_device = {
 
 static __init int add_rtc_cmos(void)
 {
-#ifdef CONFIG_PNP
-       static const char * const ids[] __initconst =
-           { "PNP0b00", "PNP0b01", "PNP0b02", };
-       struct pnp_dev *dev;
-       int i;
-
-       pnp_for_each_dev(dev) {
-               for (i = 0; i < ARRAY_SIZE(ids); i++) {
-                       if (compare_pnp_id(dev->id, ids[i]) != 0)
-                               return 0;
-               }
-       }
-#endif
        if (cmos_rtc_platform_device_present)
                return 0;
 
@@ -154,8 +140,7 @@ static __init int add_rtc_cmos(void)
                return -ENODEV;
 
        platform_device_register(&rtc_device);
-       dev_info(&rtc_device.dev,
-                "registered platform RTC device (no PNP device found)\n");
+       dev_info(&rtc_device.dev, "registered fallback platform RTC device\n");
 
        return 0;
 }