From 5c735ce365f591459203ac76a34aa08990a0d20f Mon Sep 17 00:00:00 2001 From: Peter Ujfalusi Date: Thu, 22 Dec 2011 13:10:02 +0200 Subject: [PATCH] --- yaml --- r: 293239 b: refs/heads/master c: 8d946dd7dc5cc3f0eae3d6df2c9e927497e38850 h: refs/heads/master i: 293237: ce0080a7c44147e1913d656f0dee79a8401ff340 293235: 123d6b041917465b31cc862796a8612c4f0fa959 293231: a887b6cc7bc470a3120e4a0830bc18c5aaac31ba v: v3 --- [refs] | 2 +- trunk/sound/soc/omap/omap-abe-twl6040.c | 25 ++++++++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9a5aa52edbc8..92552dd376d1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b3208839106476fe31b4bf3e6a2470cae509b2a5 +refs/heads/master: 8d946dd7dc5cc3f0eae3d6df2c9e927497e38850 diff --git a/trunk/sound/soc/omap/omap-abe-twl6040.c b/trunk/sound/soc/omap/omap-abe-twl6040.c index f2b5fec8f680..5b781f904cd7 100644 --- a/trunk/sound/soc/omap/omap-abe-twl6040.c +++ b/trunk/sound/soc/omap/omap-abe-twl6040.c @@ -212,7 +212,7 @@ static int omap_abe_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,22 @@ 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 = omap_abe_twl6040_init, + .ops = &omap_abe_ops, + }, +}; + /* Audio machine driver */ static struct snd_soc_card omap_abe_card = { .owner = THIS_MODULE, - .dai_link = sdp4430_dai, - .num_links = ARRAY_SIZE(sdp4430_dai), .dapm_widgets = twl6040_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(twl6040_dapm_widgets), @@ -267,6 +278,14 @@ static __devinit int omap_abe_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",