platform/x86: asus-wmi: Add userspace notification for performance mode change
authorVasiliy Kupriakov <rublag-ns@yandex.ru>
Fri, 28 Aug 2020 21:49:30 +0000 (00:49 +0300)
committerHans de Goede <hdegoede@redhat.com>
Tue, 24 Nov 2020 13:39:13 +0000 (14:39 +0100)
When user presses Fn-F5, the driver automatically changes throttle
thermal policy (or fan boost mode, depending on laptop model).

It would be convenient for userspace software to be able to poll on
corresponding sysfs variable. For example, to show a notification about
mode change.

Note that there is currently no way to handle Fn-F5 from userspace
directly, driver does not pass it.

Signed-off-by: Vasiliy Kupriakov <rublag-ns@yandex.ru>
Link: https://lore.kernel.org/r/20200828214932.20866-2-rublag-ns@yandex.ru
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/asus-wmi.c

index fa884c418f4ea371c5cdca453e9070c471a844cf..9ca15f72434303000a85929fc4e1e82a27ce659d 100644 (file)
@@ -1690,6 +1690,10 @@ static int fan_boost_mode_write(struct asus_wmi *asus)
        pr_info("Set fan boost mode: %u\n", value);
        err = asus_wmi_set_devstate(ASUS_WMI_DEVID_FAN_BOOST_MODE, value,
                                    &retval);
+
+       sysfs_notify(&asus->platform_device->dev.kobj, NULL,
+                       "fan_boost_mode");
+
        if (err) {
                pr_warn("Failed to set fan boost mode: %d\n", err);
                return err;
@@ -1801,6 +1805,10 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus)
 
        err = asus_wmi_set_devstate(ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY,
                                    value, &retval);
+
+       sysfs_notify(&asus->platform_device->dev.kobj, NULL,
+                       "throttle_thermal_policy");
+
        if (err) {
                pr_warn("Failed to set throttle thermal policy: %d\n", err);
                return err;