eeepc-wmi: refine quirks handling
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
diff --git a/drivers/platform/x86/eeepc-wmi.c b/drivers/platform/x86/eeepc-wmi.c
index 389ff88..0bb0aaf 100644
--- a/drivers/platform/x86/eeepc-wmi.c
+++ b/drivers/platform/x86/eeepc-wmi.c
@@ -49,7 +49,6 @@
MODULE_ALIAS("wmi:"EEEPC_WMI_EVENT_GUID);
-static struct quirk_entry *quirks;
static bool hotplug_wireless;
module_param(hotplug_wireless, bool, 0444);
@@ -108,6 +107,8 @@
.store_backlight_power = true,
};
+static struct quirk_entry *quirks;
+
static int dmi_matched(const struct dmi_system_id *dmi)
{
char *model;
@@ -209,12 +210,14 @@
static void eeepc_wmi_quirks(struct asus_wmi_driver *driver)
{
- driver->panel_power = FB_BLANK_UNBLANK;
- driver->quirks = &quirk_asus_unknown;
- driver->quirks->hotplug_wireless = hotplug_wireless;
- driver->quirks->wapf = -1;
+ quirks = &quirk_asus_unknown;
+ quirks->hotplug_wireless = hotplug_wireless;
+
dmi_check_system(asus_quirks);
+
driver->quirks = quirks;
+ driver->quirks->wapf = -1;
+ driver->panel_power = FB_BLANK_UNBLANK;
}
static struct asus_wmi_driver asus_wmi_driver = {