Takashi Iwai
2014-10-06 13:04:56 UTC
At Tue, 23 Sep 2014 19:16:52 -0700,
dependency. And even worse, different sound drivers might be used for
a single thinkpad_acpi. So, from the programming POV, the individual
sound card instance is the easiest approach.
Though, some HD-audio codec drivers already have a weak binding of
thinkpad_acpi stuff for Mic-mute switch. I guess we can move the
handling of the master mute switch to the sound driver as well.
If doing so, each relevant sound driver needs to implement it.
IIRC, snd-intel8x0 is used on old Thinkpads. Any others?
Takashi
ThinkPads have an extra mute switch that's controlled by the embedded
controller. There are some hardware buttons associated with it.
We (thinkpad-acpi) can be notified about state changes in the mute
switch, we can see presses of the hardware buttons and program them to
send KEY_MUTE or not as appropriate, and we can (optionally) change
the HW mute state.
However, I have no clue how to correctly expose the mute switch
through ALSA so that userspace will know what it controls. It
currently shows up as its own sound card, which is ridiculous.
Can anyone give me any hints as to how to expose this bonus audio
control in a sensible manner? I know essentially nothing about ALSA.
(Some older ThinkPads also have a hardware volume control with similar
behavior.)
It's a bit difficult issue, since this needs the weak modulecontroller. There are some hardware buttons associated with it.
We (thinkpad-acpi) can be notified about state changes in the mute
switch, we can see presses of the hardware buttons and program them to
send KEY_MUTE or not as appropriate, and we can (optionally) change
the HW mute state.
However, I have no clue how to correctly expose the mute switch
through ALSA so that userspace will know what it controls. It
currently shows up as its own sound card, which is ridiculous.
Can anyone give me any hints as to how to expose this bonus audio
control in a sensible manner? I know essentially nothing about ALSA.
(Some older ThinkPads also have a hardware volume control with similar
behavior.)
dependency. And even worse, different sound drivers might be used for
a single thinkpad_acpi. So, from the programming POV, the individual
sound card instance is the easiest approach.
Though, some HD-audio codec drivers already have a weak binding of
thinkpad_acpi stuff for Mic-mute switch. I guess we can move the
handling of the master mute switch to the sound driver as well.
If doing so, each relevant sound driver needs to implement it.
IIRC, snd-intel8x0 is used on old Thinkpads. Any others?
Takashi