Commit 8f186852 authored by Kurt Borja's avatar Kurt Borja Committed by Ilpo Järvinen
Browse files

platform/x86: asus-wmi: Use devm_platform_profile_register()



Replace platform_profile_register() with it's device managed version.
Also replace pr_err with dev_err in case of error and make the error
message more user-friendly.

Reviewed-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarKurt Borja <kuurtb@gmail.com>
Reviewed-by: default avatarMark Pearson <mpearson-lenovo@squebb.ca>
Tested-by: default avatarMark Pearson <mpearson-lenovo@squebb.ca>
Link: https://lore.kernel.org/r/20250116002721.75592-10-kuurtb@gmail.com


Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
parent 3e6d0bf3
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -3895,12 +3895,9 @@ static int platform_profile_setup(struct asus_wmi *asus)
	asus->platform_profile_handler.dev = dev;
	asus->platform_profile_handler.ops = &asus_wmi_platform_profile_ops;

	err = platform_profile_register(&asus->platform_profile_handler, asus);
	if (err == -EEXIST) {
		pr_warn("%s, a platform_profile handler is already registered\n", __func__);
		return 0;
	} else if (err) {
		pr_err("%s, failed at platform_profile_register: %d\n", __func__, err);
	err = devm_platform_profile_register(&asus->platform_profile_handler, asus);
	if (err) {
		dev_err(dev, "Failed to register a platform_profile class device\n");
		return err;
	}

@@ -4859,8 +4856,6 @@ static int asus_wmi_add(struct platform_device *pdev)
fail_sysfs:
fail_custom_fan_curve:
fail_platform_profile_setup:
	if (asus->platform_profile_support)
		platform_profile_remove(&asus->platform_profile_handler);
fail_fan_boost_mode:
fail_platform:
	kfree(asus);
@@ -4886,9 +4881,6 @@ static void asus_wmi_remove(struct platform_device *device)
	throttle_thermal_policy_set_default(asus);
	asus_wmi_battery_exit(asus);

	if (asus->platform_profile_support)
		platform_profile_remove(&asus->platform_profile_handler);

	kfree(asus);
}