@@ -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,