Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
authorMark Brown <broonie@kernel.org>
Sun, 19 Feb 2017 16:35:34 +0000 (16:35 +0000)
committerMark Brown <broonie@kernel.org>
Sun, 19 Feb 2017 16:35:34 +0000 (16:35 +0000)
1  2 
sound/soc/intel/boards/bytcr_rt5640.c

index 8d2fb2d6f532c833726e5dfbac2fe191eb95a15e,1ae4d0ca80643b263e2dfe27bebed4a36ffafbef..153c04d9e95a45a950bdb7c1446be263c6544ea9
@@@ -142,7 -142,7 +142,7 @@@ static int platform_clock_control(struc
                 * for Jack detection and button press
                 */
                ret = snd_soc_dai_set_sysclk(codec_dai, RT5640_SCLK_S_RCCLK,
 -                                           0,
 +                                           48000 * 512,
                                             SND_SOC_CLOCK_IN);
                if (!ret) {
                        if ((byt_rt5640_quirk & BYT_RT5640_MCLK_EN) && priv->mclk)
@@@ -546,7 -546,7 +546,7 @@@ static int byt_rt5640_codec_fixup(struc
                 */
                ret = snd_soc_dai_set_fmt(rtd->cpu_dai,
                                        SND_SOC_DAIFMT_I2S     |
-                                       SND_SOC_DAIFMT_NB_IF   |
+                                       SND_SOC_DAIFMT_NB_NF   |
                                        SND_SOC_DAIFMT_CBS_CFS
                        );
                if (ret < 0) {
                 */
                ret = snd_soc_dai_set_fmt(rtd->cpu_dai,
                                        SND_SOC_DAIFMT_I2S     |
-                                       SND_SOC_DAIFMT_NB_IF   |
+                                       SND_SOC_DAIFMT_NB_NF   |
                                        SND_SOC_DAIFMT_CBS_CFS
                        );
                if (ret < 0) {
@@@ -825,20 -825,10 +825,20 @@@ static int snd_byt_rt5640_mc_probe(stru
        if ((byt_rt5640_quirk & BYT_RT5640_MCLK_EN) && (is_valleyview())) {
                priv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
                if (IS_ERR(priv->mclk)) {
 +                      ret_val = PTR_ERR(priv->mclk);
 +
                        dev_err(&pdev->dev,
 -                              "Failed to get MCLK from pmc_plt_clk_3: %ld\n",
 -                              PTR_ERR(priv->mclk));
 -                      return PTR_ERR(priv->mclk);
 +                              "Failed to get MCLK from pmc_plt_clk_3: %d\n",
 +                              ret_val);
 +
 +                      /*
 +                       * Fall back to bit clock usage for -ENOENT (clock not
 +                       * available likely due to missing dependencies), bail
 +                       * for all other errors, including -EPROBE_DEFER
 +                       */
 +                      if (ret_val != -ENOENT)
 +                              return ret_val;
 +                      byt_rt5640_quirk &= ~BYT_RT5640_MCLK_EN;
                }
        }
  
  static struct platform_driver snd_byt_rt5640_mc_driver = {
        .driver = {
                .name = "bytcr_rt5640",
-               .pm = &snd_soc_pm_ops,
        },
        .probe = snd_byt_rt5640_mc_probe,
  };