]> git.dujemihanovic.xyz Git - linux.git/commitdiff
platform/x86: asus-wmi: Add quirk wmi_ignore_fan
authorThomas Weißschuh <linux@weissschuh.net>
Wed, 21 Dec 2022 17:59:49 +0000 (17:59 +0000)
committerHans de Goede <hdegoede@redhat.com>
Thu, 12 Jan 2023 18:35:51 +0000 (19:35 +0100)
Some laptops have a fan device listed in their ACPI tables but do not
actually contain a fan.
Introduce a quirk that can be used to override the fan detection logic.

This was observed with a ASUS VivoBook E410MA running firmware
E410MAB.304.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20221221-asus-fan-v1-1-e07f3949725b@weissschuh.net
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/asus-wmi.c
drivers/platform/x86/asus-wmi.h

index 6f81b2844dcbea2789faea6e4dc821ad6847ed12..4a289ca7e76c965bea31a67cadf207c23a75c5ef 100644 (file)
@@ -2243,7 +2243,9 @@ static int asus_wmi_fan_init(struct asus_wmi *asus)
        asus->fan_type = FAN_TYPE_NONE;
        asus->agfn_pwm = -1;
 
-       if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CPU_FAN_CTRL))
+       if (asus->driver->quirks->wmi_ignore_fan)
+               asus->fan_type = FAN_TYPE_NONE;
+       else if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CPU_FAN_CTRL))
                asus->fan_type = FAN_TYPE_SPEC83;
        else if (asus_wmi_has_agfn_fan(asus))
                asus->fan_type = FAN_TYPE_AGFN;
index 65316998b898aaf7cbff2dbc3c1a969ac9e93de9..a478ebfd34dfadf28d0be0976df011f4fa854a7b 100644 (file)
@@ -38,6 +38,7 @@ struct quirk_entry {
        bool store_backlight_power;
        bool wmi_backlight_set_devstate;
        bool wmi_force_als_set;
+       bool wmi_ignore_fan;
        enum asus_wmi_tablet_switch_mode tablet_switch_mode;
        int wapf;
        /*