[PATCH] drivers: acpi: Fix platform profile driver on !acpi platforms

Mark Pearson mpearson-lenovo at squebb.ca
Thu May 22 07:20:10 PDT 2025


On Thu, May 22, 2025, at 10:13 AM, Alexandre Ghiti wrote:
> 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 at 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

Looks good to me.
Reviewed-by: Mark Pearson <mpearson-lenovo at squebb.ca>

Mark



More information about the linux-riscv mailing list