Signed-off-by: Corentin Chary <[email protected]>
---
 drivers/platform/x86/eeepc-wmi.c |   34 ++++++++++++++++++++--------------
 1 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/drivers/platform/x86/eeepc-wmi.c b/drivers/platform/x86/eeepc-wmi.c
index 0bb0aaf..6567613 100644
--- a/drivers/platform/x86/eeepc-wmi.c
+++ b/drivers/platform/x86/eeepc-wmi.c
@@ -109,26 +109,32 @@ static struct quirk_entry quirk_asus_et2012_type3 = {
 
 static struct quirk_entry *quirks;
 
+static void et2012_quirks(void)
+{
+       const struct dmi_device *dev = NULL;
+       char oemstring[30];
+
+       while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, NULL, dev))) {
+               if (sscanf(dev->name, "AEMS%24c", oemstring) == 1) {
+                       if (oemstring[18] == '1')
+                               quirks = &quirk_asus_et2012_type1;
+                       else if (oemstring[18] == '3')
+                               quirks = &quirk_asus_et2012_type3;
+                       break;
+               }
+       }
+}
+
 static int dmi_matched(const struct dmi_system_id *dmi)
 {
        char *model;
+
        quirks = dmi->driver_data;
 
        model = (char *)dmi->matches[1].substr;
-       if (unlikely(strncmp(model, "ET2012", 6) == 0)) {
-               const struct dmi_device *dev = NULL;
-               char oemstring[30];
-               while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING,
-                                             NULL, dev))) {
-                       if (sscanf(dev->name, "AEMS%24c", oemstring) == 1) {
-                               if (oemstring[18] == '1')
-                                       quirks = &quirk_asus_et2012_type1;
-                               else if (oemstring[18] == '3')
-                                       quirks = &quirk_asus_et2012_type3;
-                               break;
-                       }
-               }
-       }
+       if (unlikely(strncmp(model, "ET2012", 6) == 0))
+               et2012_quirks();
+
        return 1;
 }
 
-- 
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" 
in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to