[alsa-devel] asoc multi-component: CPU DAI name is wrong

Timur Tabi timur at freescale.com
Thu Jul 22 23:57:14 CEST 2010


Liam,

I have this in my machine driver:

machine_data->dai[0].cpu_dai_name = strrchr(np->full_name, '/') + 1;
printk(KERN_INFO "%s:%u cpu_dai_name=%s\n", __func__, __LINE__,
machine_data->dai[0].cpu_dai_name);
...
platform_set_drvdata(sound_device, &machine_data->card);
ret = platform_device_add(sound_device);

which displays this message:

mpc8610_hpcd_probe:316 cpu_dai_name=ssi at 16000

So my machine driver says the CPU DAI name is "ssi at 16000", and my CPU driver
does the same thing.  However, I put some printks in soc_bind_dai_link, and
this is what I see:

soc_bind_dai_link:1136 cpu_dai->name=e0016000.ssi
dai_link->cpu_dai_name=ssi at 16000
soc_bind_dai_link:1136 cpu_dai->name=cs4270-hifi
dai_link->cpu_dai_name=ssi at 16000
soc_bind_dai_link:1159 codec->name=0-004f
dai_link->codec_name=cs4270-codec.0-004f
soc_bind_dai_link:1193 platform->name=e0021180.dma-channel
dai_link->platform_name=/soc at e0000000/dma at 21300/dma-channel at 0
soc_bind_dai_link:1193 platform->name=e0021100.dma-channel
dai_link->platform_name=/soc at e0000000/dma at 21300/dma-channel at 0
soc_bind_dai_link:1136 cpu_dai->name=e0016000.ssi
dai_link->cpu_dai_name=ssi at 16000
soc_bind_dai_link:1136 cpu_dai->name=cs4270-hifi
dai_link->cpu_dai_name=ssi at 16000
soc_bind_dai_link:1159 codec->name=0-004f
dai_link->codec_name=cs4270-codec.0-004f
soc_bind_dai_link:1193 platform->name=e0021180.dma-channel
dai_link->platform_name=/soc at e0000000/dma at 21300/dma-channel at 1
soc_bind_dai_link:1193 platform->name=e0021100.dma-channel
dai_link->platform_name=/soc at e0000000/dma at 21300/dma-channel at 1

Where in the world is "e0016000.ssi" coming from?  Why is ASoC ignoring my
.cpu_dai_name value?



More information about the Alsa-devel mailing list