於 五,2011-06-17 於 17:03 +0200,Florian Heyer 提到: > On 17.06.2011 15:09, Joey Lee wrote: > > Could you pleas share the dmidecode information to me? just need: > > dmidecode > dmidecode.log > > > > No problem, see attachment. > > > I want to generate a acer-wmi patch to test AMW0 method on your machine. > > > > For IdeaPad S205, this case is too special for acer machines, I still > > thought that will be better support it in ideapad-laptop. But, we can > > test on acer-wmi first. > > To me it seems logical to solve the problem in ideapad-laptop and not in > acer-wmi as the laptop is obviously of ideapad type :) > I will be happily testing patches to solve the issue. > Could you please help to test this patch? This is just a test patch, and I didn't evaluation AWM0 in update rfkill state polling because I didn't think evaluate AWM0 per second is a good idea. Please probe acer-wmi driver then report rfkill state. That's see what the situation, then we add AWM0 part in next patch. PS: Sorry for I didn't compiler and test this patch because I didn't take acer netbook back to home. Thank's Joey Lee >From 0e0602a099775fafa21b3428d50bcca2be58c3fb Mon Sep 17 00:00:00 2001 From: Lee, Chun-Yi <jlee@xxxxxxxxxx> Date: Sat, 18 Jun 2011 08:32:03 +0800 Subject: [PATCH] acer-wmi: support Lenovo S205 Just for testing. I didn't evaluate AMW0 in polling. Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxxxx> --- drivers/platform/x86/acer-wmi.c | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index 005417b..424b83e 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c @@ -304,6 +304,10 @@ static struct quirk_entry quirk_fujitsu_amilo_li_1718 = { .wireless = 2, }; +static struct quirk_entry quirk_lenovo_ideapad_s205 = { + .wireless = 3, +}; + /* The Aspire One has a dummy ACPI-WMI interface - disable it */ static struct dmi_system_id __devinitdata acer_blacklist[] = { { @@ -450,6 +454,15 @@ static struct dmi_system_id acer_quirks[] = { }, .driver_data = &quirk_medion_md_98300, }, + { + .callback = dmi_matched, + .ident = "Lenovo Ideapad S205", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "10382LG"), + }, + .driver_data = &quirk_lenovo_ideapad_s205, + }, {} }; @@ -542,6 +555,12 @@ struct wmi_interface *iface) return AE_ERROR; *value = result & 0x1; return AE_OK; + case 3: + err = ec_read(0x78, &result); + if (err) + return AE_ERROR; + *value = result & 0x1; + return AE_OK; default: err = ec_read(0xA, &result); if (err) @@ -1266,8 +1285,15 @@ static void acer_rfkill_update(struct work_struct *ignored) acpi_status status; status = get_u32(&state, ACER_CAP_WIRELESS); - if (ACPI_SUCCESS(status)) - rfkill_set_sw_state(wireless_rfkill, !state); + if (ACPI_SUCCESS(status)) { + if (quirks->wireless == 3) { + pr_info("acer_rfkill_update state: %d", state); + rfkill_set_hw_state(wireless_rfkill, !state); + /* TODO: set AWM0? */ + } else { + rfkill_set_sw_state(wireless_rfkill, !state); + } + } if (has_cap(ACER_CAP_BLUETOOTH)) { status = get_u32(&state, ACER_CAP_BLUETOOTH); -- 1.6.0.2 -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html