On Tue, 2007-05-29 at 13:47 -0500, Timur Tabi wrote: > Liam Girdwood wrote: > > On Fri, 2007-05-25 at 15:17 -0500, Timur Tabi wrote: > >> Liam Girdwood wrote: > >> > >>> These are used for setting up the dynamic audio power management and > >>> won't be needed in stand alone mode. > >> So if I don't care about power management, can I completely ignore anything with "dapm" in it? > > > > Yes. > > > >> Also, do I need a codec driver at all, even if I can't control the codec? That is, can I > >> do stuff like this: > >> > >> static struct snd_soc_device mysoc_snd_devdata = { > >> .machine = &snd_soc_machine_mysoc, > >> .platform = &mysoc_soc_platform, > >> }; > >> > >> static struct snd_soc_dai_link mpc8610hpcd_dai = { > >> .name = "CS4270", > >> .stream_name = "CS4270", > >> .cpu_dai = &mysoc_i2s_dai, > >> .init = mpc8610hpcd_machine_init, > >> .ops = &mpc8610hpcd_ops, > >> }; > > > > Yes, although my feeling is that a codec "driver" would still be needed > > to define the capabilities of your codec within the audio subsystem. > > Another question: > > Why do I need to specify the codec DAI in two different structures? > > eti_b1_wm8731.c: > > static struct snd_soc_dai_link eti_b1_dai = { > .name = "WM8731", > .stream_name = "WM8731", > .cpu_dai = &at91_i2s_dai[1], > .codec_dai = &wm8731_dai, <---- > .init = eti_b1_wm8731_init, > .ops = &eti_b1_ops, > }; > > wm8731.c: > > static int wm8731_init(struct snd_soc_device *socdev) > { > struct snd_soc_codec *codec = socdev->codec; > ... > int reg, ret = 0; > > codec->dai = &wm8731_dai; <----- > Looks like some naming confusion on my part here, so his probably needs a little refactoring in the codec struct. The codec struct contains a pointer to _all_ the digital audio interfaces it supports (e.g. some codecs support more than 1 DAI), whilst the link struct contains a mapping between codec interface n and SoC interface n. In this example the WM8731 only has 1 DAI, so it does look like duplication. I'll refactor this in a future patch. Liam _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel