aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc
diff options
context:
space:
mode:
authorCarlos Corbacho <carlos@strangeworlds.co.uk>2008-06-21 09:09:38 +0100
committerAndi Kleen <andi@basil.nowhere.org>2008-07-16 23:27:02 +0200
commit6f061ab5e55d7fe6ce0c36e8954f56f0d95348fb (patch)
tree18395eae8e9bd3f1b0165354ae33fe6a3e470f71 /drivers/misc
parentacer-wmi: Respect framebuffer blanking in backlight (diff)
downloadlinux-dev-6f061ab5e55d7fe6ce0c36e8954f56f0d95348fb.tar.xz
linux-dev-6f061ab5e55d7fe6ce0c36e8954f56f0d95348fb.zip
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 = {
.wireless = 1,
};
+static struct quirk_entry quirk_fujitsu_amilo_li_1718 = {
+ .wireless = 2,
+};
+
static struct dmi_system_id acer_quirks[] = {
{
.callback = dmi_matched,
@@ -323,6 +327,15 @@ static struct dmi_system_id acer_quirks[] = {
},
{
.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",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
@@ -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)