The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] drivers: acpi: Fix platform profile driver on !acpi platforms
@ 2025-05-22 14:13 Alexandre Ghiti
  2025-05-22 14:18 ` Arnd Bergmann
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Alexandre Ghiti @ 2025-05-22 14:13 UTC (permalink / raw)
  To: Rafael J . Wysocki, Len Brown, Ilpo Järvinen,
	Mario Limonciello, Mark Pearson, Armin Wolf, Arnd Bergmann,
	linux-acpi, linux-kernel, linux-riscv
  Cc: Alexandre Ghiti

The platform profile driver is loaded even on platforms that do not have
acpi enabled. The initialization of the sysfs entries was recently moved
from platform_profile_register() to the module init call, and those
entries need acpi_kobj to be initialized which is not the case when acpi
is disabled.

This results in the following warning:

 WARNING: CPU: 5 PID: 1 at fs/sysfs/group.c:131 internal_create_group+0xa22/0xdd8
 Modules linked in:
 CPU: 5 UID: 0 PID: 1 Comm: swapper/0 Tainted: G        W           6.15.0-rc7-dirty #6 PREEMPT
 Tainted: [W]=WARN
 Hardware name: riscv-virtio,qemu (DT)
 epc : internal_create_group+0xa22/0xdd8
  ra : internal_create_group+0xa22/0xdd8

 Call Trace:

 internal_create_group+0xa22/0xdd8
 sysfs_create_group+0x22/0x2e
 platform_profile_init+0x74/0xb2
 do_one_initcall+0x198/0xa9e
 kernel_init_freeable+0x6d8/0x780
 kernel_init+0x28/0x24c
 ret_from_fork+0xe/0x18

Fix this by checking if acpi is enabled before trying to create sysfs
entries.

Fixes: 77be5cacb2c2 ("ACPI: platform_profile: Create class for ACPI platform profile")
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
---
 drivers/acpi/platform_profile.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/platform_profile.c
index ffbfd32f4cf1..b43f4459a4f6 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -688,6 +688,9 @@ static int __init platform_profile_init(void)
 {
 	int err;
 
+	if (acpi_disabled)
+		return -EOPNOTSUPP;
+
 	err = class_register(&platform_profile_class);
 	if (err)
 		return err;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-06-10 16:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-22 14:13 [PATCH] drivers: acpi: Fix platform profile driver on !acpi platforms Alexandre Ghiti
2025-05-22 14:18 ` Arnd Bergmann
2025-05-22 14:20 ` Mark Pearson
2025-05-22 20:04 ` Armin Wolf
2025-05-23 10:11   ` Alexandre Ghiti
2025-05-23 10:50     ` Rafael J. Wysocki
2025-05-23 14:46       ` Rafael J. Wysocki
2025-05-23 20:01         ` Alexandre Ghiti
2025-05-23 10:44   ` Arnd Bergmann
2025-06-10 16:28 ` patchwork-bot+linux-riscv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox