ASoC: rockchip: i2s: add default values for registers
[deliverable/linux.git] / sound / soc / samsung / bells.c
index e5f05e62fa3c11f4fd3bf7f2465f353dd2b863c4..3dd246fa0059db268bb5d035829c85f78315f65e 100644 (file)
@@ -58,11 +58,16 @@ static int bells_set_bias_level(struct snd_soc_card *card,
                                struct snd_soc_dapm_context *dapm,
                                enum snd_soc_bias_level level)
 {
-       struct snd_soc_dai *codec_dai = card->rtd[DAI_DSP_CODEC].codec_dai;
-       struct snd_soc_codec *codec = codec_dai->codec;
+       struct snd_soc_pcm_runtime *rtd;
+       struct snd_soc_dai *codec_dai;
+       struct snd_soc_codec *codec;
        struct bells_drvdata *bells = card->drvdata;
        int ret;
 
+       rtd = snd_soc_get_pcm_runtime(card, card->dai_link[DAI_DSP_CODEC].name);
+       codec_dai = rtd->codec_dai;
+       codec = codec_dai->codec;
+
        if (dapm->dev != codec_dai->dev)
                return 0;
 
@@ -99,11 +104,16 @@ static int bells_set_bias_level_post(struct snd_soc_card *card,
                                     struct snd_soc_dapm_context *dapm,
                                     enum snd_soc_bias_level level)
 {
-       struct snd_soc_dai *codec_dai = card->rtd[DAI_DSP_CODEC].codec_dai;
-       struct snd_soc_codec *codec = codec_dai->codec;
+       struct snd_soc_pcm_runtime *rtd;
+       struct snd_soc_dai *codec_dai;
+       struct snd_soc_codec *codec;
        struct bells_drvdata *bells = card->drvdata;
        int ret;
 
+       rtd = snd_soc_get_pcm_runtime(card, card->dai_link[DAI_DSP_CODEC].name);
+       codec_dai = rtd->codec_dai;
+       codec = codec_dai->codec;
+
        if (dapm->dev != codec_dai->dev)
                return 0;
 
@@ -137,14 +147,22 @@ static int bells_set_bias_level_post(struct snd_soc_card *card,
 static int bells_late_probe(struct snd_soc_card *card)
 {
        struct bells_drvdata *bells = card->drvdata;
-       struct snd_soc_codec *wm0010 = card->rtd[DAI_AP_DSP].codec;
-       struct snd_soc_codec *codec = card->rtd[DAI_DSP_CODEC].codec;
-       struct snd_soc_dai *aif1_dai = card->rtd[DAI_DSP_CODEC].codec_dai;
+       struct snd_soc_pcm_runtime *rtd;
+       struct snd_soc_codec *wm0010;
+       struct snd_soc_codec *codec;
+       struct snd_soc_dai *aif1_dai;
        struct snd_soc_dai *aif2_dai;
        struct snd_soc_dai *aif3_dai;
        struct snd_soc_dai *wm9081_dai;
        int ret;
 
+       rtd = snd_soc_get_pcm_runtime(card, card->dai_link[DAI_AP_DSP].name);
+       wm0010 = rtd->codec;
+
+       rtd = snd_soc_get_pcm_runtime(card, card->dai_link[DAI_DSP_CODEC].name);
+       codec = rtd->codec;
+       aif1_dai = rtd->codec_dai;
+
        ret = snd_soc_codec_set_sysclk(codec, ARIZONA_CLK_SYSCLK,
                                       ARIZONA_CLK_SRC_FLL1,
                                       bells->sysclk_rate,
@@ -181,7 +199,8 @@ static int bells_late_probe(struct snd_soc_card *card)
                return ret;
        }
 
-       aif2_dai = card->rtd[DAI_CODEC_CP].cpu_dai;
+       rtd = snd_soc_get_pcm_runtime(card, card->dai_link[DAI_CODEC_CP].name);
+       aif2_dai = rtd->cpu_dai;
 
        ret = snd_soc_dai_set_sysclk(aif2_dai, ARIZONA_CLK_ASYNCCLK, 0, 0);
        if (ret != 0) {
@@ -192,8 +211,9 @@ static int bells_late_probe(struct snd_soc_card *card)
        if (card->num_rtd == DAI_CODEC_SUB)
                return 0;
 
-       aif3_dai = card->rtd[DAI_CODEC_SUB].cpu_dai;
-       wm9081_dai = card->rtd[DAI_CODEC_SUB].codec_dai;
+       rtd = snd_soc_get_pcm_runtime(card, card->dai_link[DAI_CODEC_SUB].name);
+       aif3_dai = rtd->cpu_dai;
+       wm9081_dai = rtd->codec_dai;
 
        ret = snd_soc_dai_set_sysclk(aif3_dai, ARIZONA_CLK_SYSCLK, 0, 0);
        if (ret != 0) {
This page took 0.026903 seconds and 5 git commands to generate.