On Fri, Oct 17, 2014 at 05:04:28PM -0700, Andy Lutomirski wrote: > This series is being resurrected after several years, and it's quite > different from before, so I'm restarting the version numbers :) > > ThinkPad volume and mute controls are a mess. For whatever reason, > ThinkPads have mute buttons that send KEY_MUTE *and* control an > invisible-to-ALSA mute switch. Some of them have volume controls that > interact with this switch as well. > > This is a perennial source of problems. On most ThinkPads, if you press > mute and then unmute using GUI controls, you have no sound, because > userspace and ALSA state gets out of sync with the hardware switch. > There's a separate "sound card" that exposes the hardware switch, but > userspace code generally doesn't understand that. > > There are already a few _OSI(Linux) overrides to turn all the hardware > buttons into regular buttons. Rather than quirking ACPI everywhere, > just teach thinkpad-acpi to program the buttons for full software > control and to disable hardware controls. That allows us to remove the > ACPI quirks and have normal mute controls. This approach should be > much simpler than adding even more kludgey ALSA integration for > questionable gain. > > Tested on an X200s (with latching mute by default) and an X220 (with > a mute light and toggle mute by default). Everything works as expected. > > Changes from v2: > - Don't try to change the mute mode on IBM ThinkPads. > - Further minor cleanups. > - Try to restore the mode on module unload. > > Changes from v1: > - Simplified the code a bit. > - Improved suspend/hibernate behavior. > > Andy Lutomirski (2): > thinkpad-acpi: Try to use full software mute control > acpi: Remove _OSI(Linux) for ThinkPads > > drivers/acpi/blacklist.c | 54 ---------------- > drivers/platform/x86/thinkpad_acpi.c | 116 ++++++++++++++++++++++++++++++++--- > 2 files changed, 106 insertions(+), 64 deletions(-) Andy, is this the latest version? -- Darren Hart Intel Open Source Technology Center -- 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