From: Kuninori Morimoto Date: Thu, 31 Jul 2014 06:53:03 +0000 (-0700) Subject: ASoC: rsnd: fixup pcm_new callback method X-Git-Tag: upstream/snapshot3+hdmi~242 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c3617b079d37674f238e847b9dbae56e11776e99;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git ASoC: rsnd: fixup pcm_new callback method bff58ea4f43d9b4a9fd6fb05fabc8f50f68131f5 (ASoC: rsnd: add DVC support) added DVC support, and it added pcm_new callback feature for it. Then it called all DAI's pcm_new callback, and it was wrong. This patch fixup it and call correct callback. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown (cherry picked from commit 7c63f3c02f5a998621758239abed43c5bd454b70) Signed-off-by: Simon Horman --- diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index f07742f..d7c6697 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -944,19 +944,17 @@ static struct snd_pcm_ops rsnd_pcm_ops = { static int rsnd_pcm_new(struct snd_soc_pcm_runtime *rtd) { - struct rsnd_priv *priv = snd_soc_dai_get_drvdata(rtd->cpu_dai); - struct rsnd_dai *rdai; - int i, ret; + struct snd_soc_dai *dai = rtd->cpu_dai; + struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); + int ret; - for_each_rsnd_dai(rdai, priv, i) { - ret = rsnd_dai_call(pcm_new, &rdai->playback, rdai, rtd); - if (ret) - return ret; + ret = rsnd_dai_call(pcm_new, &rdai->playback, rdai, rtd); + if (ret) + return ret; - ret = rsnd_dai_call(pcm_new, &rdai->capture, rdai, rtd); - if (ret) - return ret; - } + ret = rsnd_dai_call(pcm_new, &rdai->capture, rdai, rtd); + if (ret) + return ret; return snd_pcm_lib_preallocate_pages_for_all( rtd->pcm,