Am 06.11.24 um 20:44 schrieb Mario Limonciello:
On 11/6/2024 13:40, Armin Wolf wrote:
Am 05.11.24 um 16:33 schrieb Mario Limonciello:
As multiple platform profile handlers may come and go, send a
notification
to userspace each time that a platform profile handler is registered or
unregistered.
Tested-by: Matthew Schwartz <matthew.schwartz@xxxxxxxxx>
Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
drivers/acpi/platform_profile.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/
platform_profile.c
index 79083d0bb22e3..c9917daf683cb 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -404,6 +404,7 @@ int platform_profile_register(struct
platform_profile_handler *pprof)
if (IS_ERR(pprof->class_dev))
return PTR_ERR(pprof->class_dev);
dev_set_drvdata(pprof->class_dev, pprof);
+ sysfs_notify(acpi_kobj, NULL, "platform_profile");
cur_profile = pprof;
return 0;
@@ -419,7 +420,9 @@ int platform_profile_remove(struct
platform_profile_handler *pprof)
{
guard(mutex)(&profile_lock);
- sysfs_remove_group(acpi_kobj, &platform_profile_group);
When do we remove platform_profile_group now?
When incorporating your other feedback I noticed this was still there
and it will be removed for the next revision.
The idea will be as soon as a class registers the legacy interface is
created and will stay for the lifetime of the boot.
If all drivers are unloaded it will return -EINVAL until a new driver
is loaded.
And what happens when the platform profile core itself is unloaded?
Thanks,
Armin Wolf
Thanks,
Armin Wolf
+ cur_profile = NULL;
+
+ sysfs_notify(acpi_kobj, NULL, "platform_profile");
device_destroy(&platform_profile_class, MKDEV(0, pprof->minor));