[alsa-devel] [PATCH v3 0/2] Disable the ThinkPad HW mute/level control when possible

Darren Hart dvhart at infradead.org
Thu Dec 11 05:58:16 CET 2014


On Tue, Dec 09, 2014 at 02:47:34PM -0800, Andy Lutomirski wrote:
> On Thu, Dec 4, 2014 at 3:55 AM, Darren Hart <dvhart at infradead.org> wrote:
> > 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?
> 
> Yes.

Queued to for-next. Pending anything unforseen, I'll attempt to get this into
3.19.

-- 
Darren Hart
Intel Open Source Technology Center


More information about the Alsa-devel mailing list