On Thu, May 20, 2021 at 09:02:49PM +0200, Jaroslav Kysela wrote: > 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" Hrm, if this is important to userspace shouldn't the core be doing something by default given that it already knows all the components going into the card? > 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. This sort of stuff is more something that the card should layer on top.