On 2011-03-07 10:37, Takashi Iwai wrote:
At Mon, 07 Mar 2011 09:22:42 +0100, David Henningsson wrote:
I spend last Friday together with Bartłomiej Żogała fixing up a long standing issue with Lenovo Y530, which has 4+1 internal speakers on a Realtek 888. And we all want that supported by the auto parser, don't we?
Well, it's a bit flaky. The current behavior assigning speakers only as "Speaker" is intentional. This is a simplification to avoid the conflict with the case where both multiple line-outs and multiple speakers are present.
In that case, nothing changes - this code path is not taken, since line_out_type wouldn't be AUTO_PIN_SPEAKER_OUT.
And, in general, I don't like to get rid of "Speaker" notation. If any, we should keep "Speaker" with a channel prefix.
This is indeed tricky, and I think we've stranded on a similar issue here once before.
Btw, in the case of this particular machine, the "Front" controls the headphones as well, so the name is accidentally correct.
I've even seen a machine where a DAC controlled two out of three fronts (e g headphones and line-out but not speaker, or something like that) - how would you name that?
Perhaps it is time to start to come up with a more reliable naming scheme for 2.6.39 or 2.6.40, that would take into account the more trickier combinations as well.
So here comes the patches. Would be nice to have in 2.6.38.
Sorry, the speaker-change is too intrusive for 2.6.38. Since I already sent a pull request yesterday, which is supposed to be the final one unless major fixes come up, I'll queue this later with stable-kernel tag.
Ok, that works well for me.