From: Timur Tabi <timur@freescale.com>
To: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: ALSA development <alsa-devel@alsa-project.org>,
Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: Re: asoc multi-component: CPU DAI name is wrong
Date: Mon, 26 Jul 2010 13:57:46 -0500 [thread overview]
Message-ID: <4C4DDAAA.1000005@freescale.com> (raw)
In-Reply-To: <1279964567.3097.5.camel@odin>
Liam Girdwood wrote:
> On Fri, 2010-07-23 at 13:56 -0500, Timur Tabi wrote:
>> Liam Girdwood wrote:
>> > My mistake, I'd missed something in the forward port. I've fixed the DAI
>> > naming problem and you should see your DAI use the correct name.
>>
>> Looks like you forgot something:
>>
>> CC sound/soc/soc-core.o
>> sound/soc/soc-core.c: In function 'snd_soc_register_dai':
>> sound/soc/soc-core.c:2872: error: 'struct snd_soc_dai' has no member
> named 'id'
>> sound/soc/soc-core.c: In function 'snd_soc_register_dais':
>> sound/soc/soc-core.c:2949: error: 'struct snd_soc_dai' has no member
> named 'id'
>> sound/soc/soc-core.c: In function 'snd_soc_register_platform':
>> sound/soc/soc-core.c:3004: error: 'struct snd_soc_platform' has no member
>> named 'id'
>> sound/soc/soc-core.c: In function 'snd_soc_register_codec':
>> sound/soc/soc-core.c:3102: error: 'struct snd_soc_codec' has no member
> named
>> 'id'
>> make[2]: *** [sound/soc/soc-core.o] Error 1
>> make[1]: *** [sound/soc] Error 2
>> make: *** [sound] Error 2
>>
>
> Sorry, now fixed. Sound had somehow been disabled in my upstream .config
> and hence would build kernels.
I'm still seeing the problem:
fsl_ssi_probe:658 cpu_dai_drv.name=ssi@16000
fsl_ssi_probe:713 name=snd-soc-mpc8610hpcd
mpc8610_hpcd_probe:312 cpu_dai_name=ssi@16000
soc_bind_dai_link:1136 cpu_dai->name=e0016000.ssi,
dai_link->cpu_dai_name=ssi@16000
soc_bind_dai_link:1136 cpu_dai->name=cs4270-hifi,
dai_link->cpu_dai_name=ssi@16000
soc_bind_dai_link:1159 codec->name=cs4270-codec.0-004f,
dai_link->codec_name=cs4270-codec
soc_bind_dai_link:1194 platform->name=e0021180.dma-channel,
dai_link->platform_name=/soc@e0000000/dma@21300/dma-channel@0
soc_bind_dai_link:1194 platform->name=e0021100.dma-channel,
dai_link->platform_name=/soc@e0000000/dma@21300/dma-channel@0
soc_bind_dai_link:1136 cpu_dai->name=e0016000.ssi,
dai_link->cpu_dai_name=ssi@16000
soc_bind_dai_link:1136 cpu_dai->name=cs4270-hifi,
dai_link->cpu_dai_name=ssi@16000
soc_bind_dai_link:1159 codec->name=cs4270-codec.0-004f,
dai_link->codec_name=cs4270-codec
soc_bind_dai_link:1194 platform->name=e0021180.dma-channel,
dai_link->platform_name=/soc@e0000000/dma@21300/dma-channel@1
soc_bind_dai_link:1194 platform->name=e0021100.dma-channel,
dai_link->platform_name=/soc@e0000000/dma@21300/dma-channel@1
ALSA device list:
No soundcards found.
Here's the code that sets the CPU DAI name (in fsl_ssi.c):
/* The DAI name is the last part of the full name of the node. */
p = strrchr(np->full_name, '/') + 1;
ssi_private = kzalloc(sizeof(struct fsl_ssi_private) + strlen(p),
GFP_KERNEL);
if (!ssi_private) {
dev_err(&of_dev->dev, "could not allocate DAI object\n");
return -ENOMEM;
}
strcpy(ssi_private->name, p);
/* Initialize this copy of the CPU DAI driver structure */
memcpy(&ssi_private->cpu_dai_drv, &fsl_ssi_dai_template,
sizeof(fsl_ssi_dai_template));
ssi_private->cpu_dai_drv.name = ssi_private->name;
printk(KERN_INFO "%s:%u cpu_dai_drv.name=%s\n", __func__, __LINE__,
ssi_private->cpu_dai_drv.name);
...
ret = snd_soc_register_dai(&of_dev->dev, &ssi_private->cpu_dai_drv);
You can see above that cpu_dai_drv.name is set to "ssi@16000", but when
soc_bind_dai_link() looks for it, cpu_dai->name is set to "e0016000.ssi". I
don't know where that string comes from, but it's not coming from my code.
prev parent reply other threads:[~2010-07-26 18:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-22 21:57 asoc multi-component: CPU DAI name is wrong Timur Tabi
2010-07-23 18:16 ` Liam Girdwood
2010-07-23 18:56 ` Timur Tabi
2010-07-24 9:42 ` Liam Girdwood
2010-07-26 18:57 ` Timur Tabi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C4DDAAA.1000005@freescale.com \
--to=timur@freescale.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=lrg@slimlogic.co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox