Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

asus-wmi: move WAPF variable into quirks_entry

Some models work better with different values of wapf, so move the
variable into quriks_entry to make it more easy to give a specific
value to different models.

Based on original patch from AceLan Kao <acelan.kao@canonical.com>

Cc: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>

authored by

Corentin Chary and committed by
Matthew Garrett
6a2bcccd 6e0044be

+9 -5
+5 -1
drivers/platform/x86/asus-nb-wmi.c
··· 51 51 module_param(wapf, uint, 0444); 52 52 MODULE_PARM_DESC(wapf, "WAPF value"); 53 53 54 + static struct quirk_entry quirk_asus_unknown = { 55 + }; 56 + 54 57 static void asus_nb_wmi_quirks(struct asus_wmi_driver *driver) 55 58 { 56 - driver->wapf = wapf; 59 + driver->quirks = &quirk_asus_unknown; 60 + driver->quirks->wapf = wapf; 57 61 } 58 62 59 63 static const struct key_entry asus_nb_wmi_keymap[] = {
+2 -2
drivers/platform/x86/asus-wmi.c
··· 1471 1471 1472 1472 /* CWAP allow to define the behavior of the Fn+F2 key, 1473 1473 * this method doesn't seems to be present on Eee PCs */ 1474 - if (asus->driver->wapf >= 0) 1474 + if (asus->driver->quirks->wapf >= 0) 1475 1475 asus_wmi_set_devstate(ASUS_WMI_DEVID_CWAP, 1476 - asus->driver->wapf, NULL); 1476 + asus->driver->quirks->wapf, NULL); 1477 1477 1478 1478 return asus_wmi_sysfs_init(asus->platform_device); 1479 1479 }
+1 -1
drivers/platform/x86/asus-wmi.h
··· 39 39 bool hotplug_wireless; 40 40 bool scalar_panel_brightness; 41 41 bool store_backlight_power; 42 + int wapf; 42 43 }; 43 44 44 45 struct asus_wmi_driver { 45 - int wapf; 46 46 int brightness; 47 47 int panel_power; 48 48
+1 -1
drivers/platform/x86/eeepc-wmi.c
··· 209 209 210 210 static void eeepc_wmi_quirks(struct asus_wmi_driver *driver) 211 211 { 212 - driver->wapf = -1; 213 212 driver->panel_power = FB_BLANK_UNBLANK; 214 213 driver->quirks = &quirk_asus_unknown; 215 214 driver->quirks->hotplug_wireless = hotplug_wireless; 215 + driver->quirks->wapf = -1; 216 216 dmi_check_system(asus_quirks); 217 217 driver->quirks = quirks; 218 218 }