On Sat, Jul 13, 2024 at 08:46:43AM +0200, Takashi Iwai wrote:
Mark Brown wrote:
Sure, but the genesis of this patch is that probe order isn't sufficiently stable and we want to avoid names based on it... using the ID will be more likely to work out stable than just pure probe order but it's still got the same issue.
Are you trying to solve the issue with two cards of the same driver, which are swapped sometimes at the probe time? Or the mixture of different cards that are swapped?
The one I'm running into personally is due to the load order of the sound card drivers themselves, but it seems good to try to address the issue in general especially with ASoC where you're waiting for multiple drivers for individual components in the card. That means that even for a single driver the ordering might not be stable.
In the latter case, id should work well. The id is primarily created from the (short)name string, and the suffix is added only when conflicting.
Yeah, it's more stable but there's still a potential issue.
OTOH, if the former is the problem, using longname won't help, either, rather it can be confusing. I noticed that the test output truncates the name string, hence both cards look identical in the actual output (except for the card listing at the beginning).
Interesting - I was mainly developing on a system with multiple HDA cards and was getting fairly clearly unique names.