* [PATCH 1/2] ideapad: fix software rfkill setting
@ 2015-06-13 13:23 Arnd Bergmann
2015-06-13 13:24 ` [PATCH] ideapad: add rfkill whitelist entry for Yoga 3 1170 Arnd Bergmann
2015-06-15 20:29 ` [PATCH 1/2] ideapad: fix software rfkill setting Darren Hart
0 siblings, 2 replies; 4+ messages in thread
From: Arnd Bergmann @ 2015-06-13 13:23 UTC (permalink / raw)
To: platform-driver-x86; +Cc: linux-kernel, Ike Panhc, Darren Hart, Matthew Garrett
This fixes a several year old regression that I found while trying
to get the Yoga 3 11 to work. The ideapad_rfk_set function is meant
to send a command to the embedded controller through ACPI, but
as of c1f73658ed, it sends the index of the rfkill device instead
of the command, and ignores the opcode field.
This changes it back to the original behavior, which indeed
flips the rfkill state as seen in the debugfs interface.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: c1f73658ed ("ideapad: pass ideapad_priv as argument (part 2)")
Cc: stable@vger.kernel.org # v2.6.38+
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
index 6e825201f09a..cb7cd8d79329 100644
--- a/drivers/platform/x86/ideapad-laptop.c
+++ b/drivers/platform/x86/ideapad-laptop.c
@@ -464,8 +464,9 @@ static const struct ideapad_rfk_data ideapad_rfk_data[] = {
static int ideapad_rfk_set(void *data, bool blocked)
{
struct ideapad_rfk_priv *priv = data;
+ int opcode = ideapad_rfk_data[priv->dev].opcode;
- return write_ec_cmd(priv->priv->adev->handle, priv->dev, !blocked);
+ return write_ec_cmd(priv->priv->adev->handle, opcode, !blocked);
}
static struct rfkill_ops ideapad_rfk_ops = {
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH] ideapad: add rfkill whitelist entry for Yoga 3 1170 2015-06-13 13:23 [PATCH 1/2] ideapad: fix software rfkill setting Arnd Bergmann @ 2015-06-13 13:24 ` Arnd Bergmann 2015-06-15 20:26 ` Darren Hart 2015-06-15 20:29 ` [PATCH 1/2] ideapad: fix software rfkill setting Darren Hart 1 sibling, 1 reply; 4+ messages in thread From: Arnd Bergmann @ 2015-06-13 13:24 UTC (permalink / raw) To: platform-driver-x86; +Cc: linux-kernel, Ike Panhc, Darren Hart, Matthew Garrett This adds one more entry to the whitelist of machines that do not have a physical rfkill switch. Unfortunately, the Yoga 3 generation seems to use upper-case letters for the YOGA 3 Pro-1370, while it uses normal capitalization for its Yoga 3 1170 sibling. In order to catch all variants of the Yoga 3, I'm now using both strings as wildcards here, which should also cover the 1470 model, and possible changes in the string that could happen in firmware updates. Signed-off-by: Arnd Bergmann <arnd@arndb.de> diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c index cb7cd8d79329..8e455c1429ee 100644 --- a/drivers/platform/x86/ideapad-laptop.c +++ b/drivers/platform/x86/ideapad-laptop.c @@ -855,7 +855,14 @@ static const struct dmi_system_id no_hw_rfkill_list[] = { .ident = "Lenovo Yoga 3 Pro 1370", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 3 Pro-1370"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 3"), + }, + }, + { + .ident = "Lenovo Yoga 3 1170 / 1470", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 3"), }, }, {} ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ideapad: add rfkill whitelist entry for Yoga 3 1170 2015-06-13 13:24 ` [PATCH] ideapad: add rfkill whitelist entry for Yoga 3 1170 Arnd Bergmann @ 2015-06-15 20:26 ` Darren Hart 0 siblings, 0 replies; 4+ messages in thread From: Darren Hart @ 2015-06-15 20:26 UTC (permalink / raw) To: Arnd Bergmann Cc: platform-driver-x86, linux-kernel, Ike Panhc, Darren Hart, Matthew Garrett On Sat, Jun 13, 2015 at 03:24:32PM +0200, Arnd Bergmann wrote: > This adds one more entry to the whitelist of machines that do not have > a physical rfkill switch. Unfortunately, the Yoga 3 generation seems > to use upper-case letters for the YOGA 3 Pro-1370, while it uses normal > capitalization for its Yoga 3 1170 sibling. > > In order to catch all variants of the Yoga 3, I'm now using both strings > as wildcards here, which should also cover the 1470 model, and possible > changes in the string that could happen in firmware updates. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c > index cb7cd8d79329..8e455c1429ee 100644 > --- a/drivers/platform/x86/ideapad-laptop.c > +++ b/drivers/platform/x86/ideapad-laptop.c > @@ -855,7 +855,14 @@ static const struct dmi_system_id no_hw_rfkill_list[] = { > .ident = "Lenovo Yoga 3 Pro 1370", I believe we should also update the ident to indicate the inclusion of the 1470 model since you dropped the 1370 specifier from the product version. (Also, please use my infradead ID specified in MAINTAINERS for platform-drivers-x86) Thanks, > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > - DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 3 Pro-1370"), > + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 3"), > + }, > + }, > + { > + .ident = "Lenovo Yoga 3 1170 / 1470", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 3"), > }, > }, > {} > > -- > To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Darren Hart Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] ideapad: fix software rfkill setting 2015-06-13 13:23 [PATCH 1/2] ideapad: fix software rfkill setting Arnd Bergmann 2015-06-13 13:24 ` [PATCH] ideapad: add rfkill whitelist entry for Yoga 3 1170 Arnd Bergmann @ 2015-06-15 20:29 ` Darren Hart 1 sibling, 0 replies; 4+ messages in thread From: Darren Hart @ 2015-06-15 20:29 UTC (permalink / raw) To: Arnd Bergmann Cc: platform-driver-x86, linux-kernel, Ike Panhc, Darren Hart, Matthew Garrett On Sat, Jun 13, 2015 at 03:23:33PM +0200, Arnd Bergmann wrote: > This fixes a several year old regression that I found while trying > to get the Yoga 3 11 to work. The ideapad_rfk_set function is meant > to send a command to the embedded controller through ACPI, but > as of c1f73658ed, it sends the index of the rfkill device instead > of the command, and ignores the opcode field. > > This changes it back to the original behavior, which indeed > flips the rfkill state as seen in the debugfs interface. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Fixes: c1f73658ed ("ideapad: pass ideapad_priv as argument (part 2)") > Cc: stable@vger.kernel.org # v2.6.38+ Queued for 4.2. Thanks! -- Darren Hart Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-15 20:29 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-06-13 13:23 [PATCH 1/2] ideapad: fix software rfkill setting Arnd Bergmann 2015-06-13 13:24 ` [PATCH] ideapad: add rfkill whitelist entry for Yoga 3 1170 Arnd Bergmann 2015-06-15 20:26 ` Darren Hart 2015-06-15 20:29 ` [PATCH 1/2] ideapad: fix software rfkill setting Darren Hart
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox