platform/x86: thinkpad_acpi: use platform_profile_cycle()
authorGergo Koteles <soyer@irl.hu>
Mon, 8 Apr 2024 17:35:12 +0000 (19:35 +0200)
committerHans de Goede <hdegoede@redhat.com>
Mon, 15 Apr 2024 13:48:35 +0000 (15:48 +0200)
Some Thinkpads have a 'mode' button that switches between platform
profiles.

Use the new platform_module_cycle function instead of the existing
switch-based one.

Signed-off-by: Gergo Koteles <soyer@irl.hu>
Link: https://lore.kernel.org/r/eb2484f5356786578d820301b714335221524839.1712597199.git.soyer@irl.hu
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/thinkpad_acpi.c

index 82429e59999da211429220aefc7896d01eff3e3e..771aaa7ae4cf4549a80f83adcc4cc7e878fc5624 100644 (file)
@@ -11190,23 +11190,8 @@ static void tpacpi_driver_event(const unsigned int hkey_event)
                else
                        dytc_control_amt(!dytc_amt_active);
        }
-       if (hkey_event == TP_HKEY_EV_PROFILE_TOGGLE) {
-               switch (dytc_current_profile) {
-               case PLATFORM_PROFILE_LOW_POWER:
-                       dytc_profile_set(NULL, PLATFORM_PROFILE_BALANCED);
-                       break;
-               case PLATFORM_PROFILE_BALANCED:
-                       dytc_profile_set(NULL, PLATFORM_PROFILE_PERFORMANCE);
-                       break;
-               case PLATFORM_PROFILE_PERFORMANCE:
-                       dytc_profile_set(NULL, PLATFORM_PROFILE_LOW_POWER);
-                       break;
-               default:
-                       pr_warn("Profile HKEY unexpected profile %d", dytc_current_profile);
-               }
-               /* Notify user space the profile changed */
-               platform_profile_notify();
-       }
+       if (hkey_event == TP_HKEY_EV_PROFILE_TOGGLE)
+               platform_profile_cycle();
 }
 
 static void hotkey_driver_event(const unsigned int scancode)