On Tue, Nov 24, 2009 at 11:50 PM, Len Brown <lenb@xxxxxxxxxx> wrote: > On Mon, 9 Nov 2009, Andrew Lutomirski wrote: > >> The ThinkPad X200s, like the X61, requires OSI=Linux for the mute >> button to work. Without this patch (or the equivalent command-line >> parameter), the mute button does not generate a keystroke and, >> instead, messes up the sound hardware. >> >> Tested on an X200s. >> >> Signed-off-by: Andy Lutomirski <luto@xxxxxxx> > > I just applied the analogous T400/T500 patch from > http://bugzilla.kernel.org/show_bug.cgi?id=13934 > > and I'd apply this one too if it were not malformed. I'll try again. I've also attached a file containing exactly the same thing as below (other than the '---') in case my mailer is having problems. I just checked that the patch still applies to Linus' tree. --Andy The ThinkPad X200s, like the X61, requires OSI=Linux for the mute button to work. Without this patch (or the equivalent command-line parameter), the mute button does not generate a keystroke and, instead, messes up the sound hardware. Tested on an X200s. Signed-off-by: Andy Lutomirski <luto@xxxxxxx> --- diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c index e56b2a7..ea9f88b 100644 --- a/drivers/acpi/blacklist.c +++ b/drivers/acpi/blacklist.c @@ -224,6 +224,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { * _OSI(Linux) helps sound * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad R61"), * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T61"), + * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X200s"), * _OSI(Linux) has Linux specific hooks * DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"), * _OSI(Linux) is a NOP: @@ -254,6 +255,14 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = { DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"), }, }, + { + .callback = dmi_enable_osi_linux, + .ident = "Lenovo X200s", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X200s"), + }, + }, {} };
Attachment:
acpi_x200s.patch
Description: Binary data