From: Corentin Chary Date: Tue, 20 Mar 2012 08:53:12 +0000 (+0100) Subject: eeepc-wmi: refine quirks handling X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c55d995dd3cebffdeb2b7eff8acc813c56d62c97;p=linux-beck.git eeepc-wmi: refine quirks handling Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett --- diff --git a/drivers/platform/x86/eeepc-wmi.c b/drivers/platform/x86/eeepc-wmi.c index 389ff888cb6c..0bb0aaf43aba 100644 --- a/drivers/platform/x86/eeepc-wmi.c +++ b/drivers/platform/x86/eeepc-wmi.c @@ -49,7 +49,6 @@ MODULE_LICENSE("GPL"); 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 @@ static struct quirk_entry quirk_asus_et2012_type3 = { .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 int eeepc_wmi_probe(struct platform_device *pdev) 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 = {