20.05.2021 22:02, Jaroslav Kysela пишет:
Dne 20. 05. 21 v 19:50 Dmitry Osipenko napsal(a):
Squash all machine drivers into a single-universal one. This reduces code duplication, eases addition of a new drivers and upgrades older code to a modern Linux kernel APIs.
+static struct snd_soc_card snd_soc_tegra_wm9712 = {
- .dai_link = &tegra_wm9712_dai,
- .num_links = 1,
- .fully_routed = true,
+};
Please, could you also initialize snd_soc_card->components? It may be useful to pass the codec identification to the user space like:
.components = "codec:wm9712"
The passed information should be consistent. You may look into the Intel ASoC drivers for the examples (card->components initialization). There are also hints about the number of connected microphones ("cfg-mic:2" - configuration with 2 microphones) or the codec purpose ("hs:rt711" - headset codec is RT711) etc.
Alright, I see why you're wanting this. It may allow us to have more generic UCMs and group them together.