On Fri, Aug 09, 2013 at 03:52:04PM +0200, Takashi Iwai wrote:
Above all, the multiple indices don't work anyway with the snd_jack stuff in the current form. The index was introduced only for kjack, and for HD-audio, snd_jack is provided just for a compatibility reason, thus it doesn't matter much even if the multiple indices don't work with it.
That being said, before going further, we need to consider how to handle the input jack stuff with multiple indices.
What's the big problem with indexes and input (hopefully also extcon...) reporting?
- snprintf(jack->name, sizeof(jack->name), "%s %s",
- snprintf(jack->name, sizeof(jack->name), "%s %s Jack", card->shortname, jack->id);
This breaks the compatibility with the existing code. You must not change the name of the existing input jack element. Some drivers create "Headphone" and some do "Headphone Jack", yes. It's bad, but too late to change.
We can probably do something cheap like just check if there's a "Jack" already in the name?