aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorCarlos Corbacho <carlos@strangeworlds.co.uk>2008-06-21 04:09:38 -0400
committerAndi Kleen <andi@basil.nowhere.org>2008-07-16 17:27:02 -0400
commit6f061ab5e55d7fe6ce0c36e8954f56f0d95348fb (patch)
tree18395eae8e9bd3f1b0165354ae33fe6a3e470f71 /drivers/misc
parentf2b585b4a31731b17b9769eae523986fa7fddcde (diff)
acer-wmi: Add EC quirk for Fujitsu Siemens Amilo Li 1718
This laptop needs a different EC quirk from the standard Acer one to read the wireless status. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Len Brown <len.brown@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/acer-wmi.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/misc/acer-wmi.c b/drivers/misc/acer-wmi.c
index e35825f7e7ba..5b7c5fcd5af7 100644
--- a/drivers/misc/acer-wmi.c
+++ b/drivers/misc/acer-wmi.c
@@ -212,6 +212,10 @@ static struct quirk_entry quirk_medion_md_98300 = {
212 .wireless = 1, 212 .wireless = 1,
213}; 213};
214 214
215static struct quirk_entry quirk_fujitsu_amilo_li_1718 = {
216 .wireless = 2,
217};
218
215static struct dmi_system_id acer_quirks[] = { 219static struct dmi_system_id acer_quirks[] = {
216 { 220 {
217 .callback = dmi_matched, 221 .callback = dmi_matched,
@@ -323,6 +327,15 @@ static struct dmi_system_id acer_quirks[] = {
323 }, 327 },
324 { 328 {
325 .callback = dmi_matched, 329 .callback = dmi_matched,
330 .ident = "Fujitsu Siemens Amilo Li 1718",
331 .matches = {
332 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
333 DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Li 1718"),
334 },
335 .driver_data = &quirk_fujitsu_amilo_li_1718,
336 },
337 {
338 .callback = dmi_matched,
326 .ident = "Medion MD 98300", 339 .ident = "Medion MD 98300",
327 .matches = { 340 .matches = {
328 DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), 341 DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
@@ -416,6 +429,12 @@ struct wmi_interface *iface)
416 return AE_ERROR; 429 return AE_ERROR;
417 *value = result & 0x1; 430 *value = result & 0x1;
418 return AE_OK; 431 return AE_OK;
432 case 2:
433 err = ec_read(0x71, &result);
434 if (err)
435 return AE_ERROR;
436 *value = result & 0x1;
437 return AE_OK;
419 default: 438 default:
420 err = ec_read(0xA, &result); 439 err = ec_read(0xA, &result);
421 if (err) 440 if (err)