alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Liam Girdwood <lrg@ti.com>,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Tony Lindgren <tony@atomide.com>
Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>,
	alsa-devel@alsa-project.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 6/9] ASoC: omap-abe-twl6040: DAI link selection based on platform data
Date: Thu, 22 Dec 2011 18:38:19 +0200	[thread overview]
Message-ID: <1324571902-16918-7-git-send-email-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <1324571902-16918-1-git-send-email-peter.ujfalusi@ti.com>

We can have machines without DMIC connected. In this case there is
no need to create amother (unusable) capture PCM on the card.
The existence of the DMIC connection can be checked via
pdata->has_dmic.
Select the correct dai_link structure for the card based on
pdata->has_dmic.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 sound/soc/omap/omap-abe-twl6040.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c
index cf3cb08..9e6e4c2 100644
--- a/sound/soc/omap/omap-abe-twl6040.c
+++ b/sound/soc/omap/omap-abe-twl6040.c
@@ -212,7 +212,7 @@ static int omapabe_dmic_init(struct snd_soc_pcm_runtime *rtd)
 }
 
 /* Digital audio interface glue - connects codec <--> CPU */
-static struct snd_soc_dai_link sdp4430_dai[] = {
+static struct snd_soc_dai_link twl6040_dmic_dai[] = {
 	{
 		.name = "TWL6040",
 		.stream_name = "TWL6040",
@@ -235,11 +235,21 @@ static struct snd_soc_dai_link sdp4430_dai[] = {
 	},
 };
 
+static struct snd_soc_dai_link twl6040_only_dai[] = {
+	{
+		.name = "TWL6040",
+		.stream_name = "TWL6040",
+		.cpu_dai_name = "omap-mcpdm",
+		.codec_dai_name = "twl6040-legacy",
+		.platform_name = "omap-pcm-audio",
+		.codec_name = "twl6040-codec",
+		.init = omapabe_twl6040_init,
+		.ops = &omapabe_ops,
+	},
+};
+
 /* Audio machine driver */
 static struct snd_soc_card omapabe_card = {
-	.dai_link = sdp4430_dai,
-	.num_links = ARRAY_SIZE(sdp4430_dai),
-
 	.dapm_widgets = twl6040_dapm_widgets,
 	.num_dapm_widgets = ARRAY_SIZE(twl6040_dapm_widgets),
 	.dapm_routes = audio_map,
@@ -266,6 +276,14 @@ static __devinit int omapabe_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
+	if (pdata->has_dmic) {
+		card->dai_link = twl6040_dmic_dai;
+		card->num_links = ARRAY_SIZE(twl6040_dmic_dai);
+	} else {
+		card->dai_link = twl6040_only_dai;
+		card->num_links = ARRAY_SIZE(twl6040_only_dai);
+	}
+
 	ret = snd_soc_register_card(card);
 	if (ret)
 		dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n",
-- 
1.7.8.1


  parent reply	other threads:[~2011-12-22 16:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-22 16:38 [PATCH v2 0/9] OMAP4: ASoC: Support for PandaBoard family Peter Ujfalusi
2011-12-22 16:38 ` [PATCH v2 1/9] include: platform_data: Platform data header for OMAP4 ASoC audio Peter Ujfalusi
2011-12-22 16:38 ` [PATCH v2 2/9] OMAP4: 4430sdp: Register platform device for OMAP4 audio Peter Ujfalusi
2011-12-22 16:38 ` [PATCH v2 3/9] ASoC: omap-abe-twl6040: Convert to platform deriver Peter Ujfalusi
2011-12-22 16:38 ` [PATCH v2 4/9] ASoC: twl6040: Convert MICBIAS to SUPPLY widget Peter Ujfalusi
2011-12-22 17:32   ` Mark Brown
2011-12-22 18:02     ` Peter Ujfalusi
2011-12-22 18:13       ` Mark Brown
2011-12-22 16:38 ` [PATCH v2 5/9] ASoC: omap-abe-twl6040: Add complete DAPM routing Peter Ujfalusi
2011-12-22 16:38 ` Peter Ujfalusi [this message]
2011-12-22 16:38 ` [PATCH v2 7/9] ASoC: omap-abe-twl6040: Configure card according to platform data Peter Ujfalusi
2011-12-22 16:38 ` [PATCH v2 8/9] OMAP4: omap4panda: Enable audio support Peter Ujfalusi
2011-12-22 17:32   ` Tony Lindgren
2011-12-22 18:08     ` Peter Ujfalusi
2011-12-22 18:15       ` Tony Lindgren
2011-12-22 18:24         ` Peter Ujfalusi
2011-12-22 16:38 ` [PATCH v2 9/9] ASoC: Kconfig: OMAP4: Enable support for PandaBoards Peter Ujfalusi
2011-12-22 17:30 ` [PATCH v2 0/9] OMAP4: ASoC: Support for PandaBoard family Peter Ujfalusi
  -- strict thread matches above, loose matches on Subject: below --
2011-12-22 12:42 Peter Ujfalusi
2011-12-22 12:42 ` [PATCH v2 6/9] ASoC: omap-abe-twl6040: DAI link selection based on platform data Peter Ujfalusi

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=1324571902-16918-7-git-send-email-peter.ujfalusi@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=jarkko.nikula@bitmer.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=tony@atomide.com \
    /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;
as well as URLs for NNTP newsgroup(s).