]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
platform/x86: asus-wmi: Use platform_profile_cycle()
authorArmin Wolf <W_Armin@gmx.de>
Thu, 7 Nov 2024 00:38:11 +0000 (01:38 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 12 Nov 2024 09:55:35 +0000 (11:55 +0200)
Replace throttle_thermal_policy_switch_next() with
platform_profile_cycle() to reduce code duplication and avoid a
potential race condition with the platform profile handler.

Suggested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20241107003811.615574-3-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/asus-wmi.c

index 88cd1f39f22e341ccc703c89448517bee4f43c31..f15c7ce37b256e4d7aabcf038b7944bf1b21d9ec 100644 (file)
@@ -3755,28 +3755,6 @@ static int throttle_thermal_policy_set_default(struct asus_wmi *asus)
        return throttle_thermal_policy_write(asus);
 }
 
-static int throttle_thermal_policy_switch_next(struct asus_wmi *asus)
-{
-       u8 new_mode = asus->throttle_thermal_policy_mode + 1;
-       int err;
-
-       if (new_mode > PLATFORM_PROFILE_MAX)
-               new_mode = ASUS_THROTTLE_THERMAL_POLICY_DEFAULT;
-
-       asus->throttle_thermal_policy_mode = new_mode;
-       err = throttle_thermal_policy_write(asus);
-       if (err)
-               return err;
-
-       /*
-        * Ensure that platform_profile updates userspace with the change to ensure
-        * that platform_profile and throttle_thermal_policy_mode are in sync.
-        */
-       platform_profile_notify();
-
-       return 0;
-}
-
 static ssize_t throttle_thermal_policy_show(struct device *dev,
                                   struct device_attribute *attr, char *buf)
 {
@@ -4291,7 +4269,7 @@ static void asus_wmi_handle_event_code(int code, struct asus_wmi *asus)
                if (asus->fan_boost_mode_available)
                        fan_boost_mode_switch_next(asus);
                if (asus->throttle_thermal_policy_dev)
-                       throttle_thermal_policy_switch_next(asus);
+                       platform_profile_cycle();
                return;
 
        }