LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>,
	alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/7] ASoC: Samsung: neo1973_gta02: Fix bluetooth DAI registration
Date: Mon, 07 Feb 2011 17:53:56 +0100	[thread overview]
Message-ID: <4D5023A4.3020209@metafoo.de> (raw)
In-Reply-To: <20110207115906.GD10564@opensource.wolfsonmicro.com>

On 02/07/2011 12:59 PM, Mark Brown wrote:
> On Mon, Feb 07, 2011 at 12:04:22AM +0100, Lars-Peter Clausen wrote:
>> This patch fixes two issues with the bluethooth DAI registration:
>> * The DAI has to be registered only after the sound device has been added.
> 
> This isn't a problem, components in the system can be registered in any
> order.

By device I mean the soc-core platform device, which has to exist before a dai can be
registered with that device.

> 
>> * Currently the DAI is registered with snd_soc_register_dai which causes it to
>>   be named after the device it was registered for. Which is in this case the
>>   "soc-audio" device. (Ab)use snd_soc_register_dais which causes the DAI to be
>>   named after the DAI driver, which is what we want in this case.
> 
> This doesn't tie up with your change which...
> 
>> -	/* register bluetooth DAI here */
>> -	ret = snd_soc_register_dai(&neo1973_gta02_snd_device->dev, &bt_dai);
>> -	if (ret)
>> -		goto err_put_device;
> 
>> +	/* register bluetooth DAI here */
>> +	ret = snd_soc_register_dais(&neo1973_gta02_snd_device->dev, &bt_dai, 1);
>>  	if (ret)
>> -		goto err_unregister_dai;
>> +		goto err_unregister_device;
> 
> ...uses the same device in both cases and looking briefly at the code
> both register functions just use the dev that was passed in.

The difference between the two is that snd_soc_register_dais calls fmt_multiple_name,
but snd_soc_register_dai uses fmt_single_name. The later uses the name of device for
which the dai is registered to generate the dai_device name, while the former uses
the name of the dai_driver.
So by calling snd_soc_register_dai the bluetooth dai_device will be name "soc-core"
instead of "bluetooth-dai". So currently there is no match between the dai_link and
the dai_device, as a result the sound card is not instantiated.

> In any
> case, we clearly shouldn't be applying patches which bodge around the
> core.

Well the alternative would be a patch looking like this:

-	.cpu_dai_name = "bluetooth-dai",
+	.cpu_dai_name = "soc-core",

Which isn't really nice either.

- Lars

  reply	other threads:[~2011-02-07 16:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-06 23:04 [PATCH 1/7] ASoC: neo1973_wm8753: Remove scenario management code Lars-Peter Clausen
2011-02-06 23:04 ` [PATCH 2/7] ASoC: neo1973_wm8753: Move lm4857 specefic code to its own module Lars-Peter Clausen
2011-02-07 11:50   ` Mark Brown
2011-02-06 23:04 ` [PATCH 3/7] ASoC: codecs: lm4857: Use dev_pm_ops Lars-Peter Clausen
2011-02-06 23:04 ` [PATCH 4/7] ASoC: neo1973_gta02_wm8753: Remove lm4853_{set,get}_state Lars-Peter Clausen
2011-02-06 23:04 ` [PATCH 5/7] ASoC: Samsung: neo1973: Use gpio_request_array to request gpios Lars-Peter Clausen
2011-02-06 23:04 ` [PATCH 6/7] ASoC: Samsung: neo1973_gta02: Fix bluetooth DAI registration Lars-Peter Clausen
2011-02-07 11:59   ` Mark Brown
2011-02-07 16:53     ` Lars-Peter Clausen [this message]
2011-02-07 17:02       ` Mark Brown
2011-02-07 17:37         ` Lars-Peter Clausen
2011-02-07 17:49           ` Mark Brown
2011-02-07 18:09             ` Lars-Peter Clausen
2011-02-07 18:17               ` Mark Brown
2011-02-07 22:55                 ` Adding bluetooth PCM interface support to ASoC (Was: Re: [PATCH 6/7] ASoC: Samsung: neo1973_gta02: Fix bluetooth DAI registration) Lars-Peter Clausen
2011-02-08 13:08                   ` Mark Brown
2011-02-06 23:04 ` [PATCH 7/7] ASoC: Samsung: Merge neo1937 and neo1973_gta02 sound board driver Lars-Peter Clausen
2011-02-07  2:25 ` [alsa-devel] [PATCH 1/7] ASoC: neo1973_wm8753: Remove scenario management code Jassi Brar
2011-02-07 11:42 ` Mark Brown
2011-02-07 17:01   ` Lars-Peter Clausen

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=4D5023A4.3020209@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lrg@slimlogic.co.uk \
    --subject='Re: [PATCH 6/7] ASoC: Samsung: neo1973_gta02: Fix bluetooth DAI registration' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).