Skip to content

Commit

Permalink
eeepc-wmi: split et2012 specific hacks
Browse files Browse the repository at this point in the history
Signed-off-by: Corentin Chary <corentin.chary@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
  • Loading branch information
Corentin Chary authored and Matthew Garrett committed Mar 26, 2012
1 parent c55d995 commit 7a61d02
Showing 1 changed file with 20 additions and 14 deletions.
34 changes: 20 additions & 14 deletions drivers/platform/x86/eeepc-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down

0 comments on commit 7a61d02

Please sign in to comment.