Re: [PATCH v5 09/20] ACPI: platform_profile: Unregister class and sysfs group on module unload

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 07.11.24 um 07:02 schrieb Mario Limonciello:

The class and sysfs group are no longer needed when the platform profile
core is a module and unloaded.

Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
  drivers/acpi/platform_profile.c | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/platform_profile.c
index 652034b71ee9b..9caf070f77f6a 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -224,6 +224,13 @@ int platform_profile_remove(struct platform_profile_handler *pprof)
  }
  EXPORT_SYMBOL_GPL(platform_profile_remove);

+static void __exit platform_profile_exit(void)
+{
+	class_unregister(&platform_profile_class);
+	sysfs_remove_group(acpi_kobj, &platform_profile_group);

This will crash should the class still not exist.

I suggest you register the class and the legacy sysfs group during module initialization, and
add a is_visible() callback to the legacy sysfs group. Then you can use sysfs_update_group() to
update the visibility of the sysfs files when platform profiles come and go.

Also please squash this patch with the patch introducing the class infrastructure.

Thanks,
Armin Wolf

+}
+module_exit(platform_profile_exit);
+
  MODULE_AUTHOR("Mark Pearson <markpearson@xxxxxxxxxx>");
  MODULE_DESCRIPTION("ACPI platform profile sysfs interface");
  MODULE_LICENSE("GPL");





[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux