[alsa-devel] ASoC - Support for multiple components

Timur Tabi timur at freescale.com
Wed Apr 21 23:07:00 CEST 2010


On Mon, Apr 19, 2010 at 9:09 AM, Liam Girdwood <lrg at slimlogic.co.uk> wrote:

> I've CC'ed folks on this mail who have either contributed or maintain
> ASoC architecture code. Please have a look at your architecture and test
> if you can. I only have access to OMAP and pxa3xx hardware and as such
> have only tested the changes on these two architectures only. I'd
> appreciated anyone else testing on the other architectures too.

A few things:

First, you probably need to add this:

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 38d94d7..c2df201 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1364,8 +1364,10 @@ static void snd_soc_instantiate_card(struct
snd_soc_card *card)
                soc_bind_dai_link(card, i);

        /* bind completed ? */
-       if (card->num_rtd != card->num_links)
+       if (card->num_rtd != card->num_links) {
+               mutex_unlock(&card->mutex);
                return;
+       }

        /* card bind complete so register a sound card */
        ret = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
@@ -1373,6 +1375,7 @@ static void snd_soc_instantiate_card(struct
snd_soc_card *card)
        if (ret < 0) {
                printk(KERN_ERR "asoc: can't create sound card for card %s\n",
                        card->name);
+               mutex_unlock(&card->mutex);
                return;
        }
        card->snd_card->dev = card->dev;


Secondly, I'm seeing this when I turn on debugging:

Cirrus Logic CS4270 ALSA SoC Codec Driver
cs4270 0-004f: found device at i2c address 4F
cs4270 0-004f: hardware revision 3
cs4270 0-004f: codec register CS4270 79
cs4270 0-004f: dai register cs4270 0
Registered DAI 'cs4270.0'
Registered codec 'CS4270.79'
...

soc-audio soc-audio: CODEC CS4270 not registered

Does this mean that my fabric driver should be looking for "CS4270.79"
instead of just "CS4270"?

-- 
Timur Tabi
Linux kernel developer at Freescale


More information about the Alsa-devel mailing list