From: Carlos Corbacho <carlos@strangeworlds.co.uk>
Date: Sat, 21 Jun 2008 08:09:38 +0000 (+0100)
Subject: acer-wmi: Add EC quirk for Fujitsu Siemens Amilo Li 1718
X-Git-Tag: firefly_0821_release~19645^2~69
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6f061ab5e55d7fe6ce0c36e8954f56f0d95348fb;p=firefly-linux-kernel-4.4.55.git

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>
---

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 = {
 	.wireless = 1,
 };
 
+static struct quirk_entry quirk_fujitsu_amilo_li_1718 = {
+	.wireless = 2,
+};
+
 static struct dmi_system_id acer_quirks[] = {
 	{
 		.callback = dmi_matched,
@@ -321,6 +325,15 @@ static struct dmi_system_id acer_quirks[] = {
 		},
 		.driver_data = &quirk_acer_travelmate_2490,
 	},
+	{
+		.callback = dmi_matched,
+		.ident = "Fujitsu Siemens Amilo Li 1718",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Li 1718"),
+		},
+		.driver_data = &quirk_fujitsu_amilo_li_1718,
+	},
 	{
 		.callback = dmi_matched,
 		.ident = "Medion MD 98300",
@@ -416,6 +429,12 @@ struct wmi_interface *iface)
 				return AE_ERROR;
 			*value = result & 0x1;
 			return AE_OK;
+		case 2:
+			err = ec_read(0x71, &result);
+			if (err)
+				return AE_ERROR;
+			*value = result & 0x1;
+			return AE_OK;
 		default:
 			err = ec_read(0xA, &result);
 			if (err)