Merge remote-tracking branches 'asoc/topic/ts3a227e', 'asoc/topic/ts3a277e' and ...
[cascardo/linux.git] / sound / soc / samsung / jive_wm8750.c
index b5f6abd..7fcb51f 100644 (file)
@@ -61,20 +61,6 @@ static int jive_hw_params(struct snd_pcm_substream *substream,
        s3c_i2sv2_iis_calc_rate(&div, NULL, params_rate(params),
                                s3c_i2sv2_get_clock(cpu_dai));
 
-       /* set codec DAI configuration */
-       ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
-                                 SND_SOC_DAIFMT_NB_NF |
-                                 SND_SOC_DAIFMT_CBS_CFS);
-       if (ret < 0)
-               return ret;
-
-       /* set cpu DAI configuration */
-       ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
-                                 SND_SOC_DAIFMT_NB_NF |
-                                 SND_SOC_DAIFMT_CBS_CFS);
-       if (ret < 0)
-               return ret;
-
        /* set the codec system clock for DAC and ADC */
        ret = snd_soc_dai_set_sysclk(codec_dai, WM8750_SYSCLK, clk,
                                     SND_SOC_CLOCK_IN);
@@ -97,22 +83,6 @@ static struct snd_soc_ops jive_ops = {
        .hw_params      = jive_hw_params,
 };
 
-static int jive_wm8750_init(struct snd_soc_pcm_runtime *rtd)
-{
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
-
-       /* These endpoints are not being used. */
-       snd_soc_dapm_nc_pin(dapm, "LINPUT2");
-       snd_soc_dapm_nc_pin(dapm, "RINPUT2");
-       snd_soc_dapm_nc_pin(dapm, "LINPUT3");
-       snd_soc_dapm_nc_pin(dapm, "RINPUT3");
-       snd_soc_dapm_nc_pin(dapm, "OUT3");
-       snd_soc_dapm_nc_pin(dapm, "MONO");
-
-       return 0;
-}
-
 static struct snd_soc_dai_link jive_dai = {
        .name           = "wm8750",
        .stream_name    = "WM8750",
@@ -120,7 +90,8 @@ static struct snd_soc_dai_link jive_dai = {
        .codec_dai_name = "wm8750-hifi",
        .platform_name  = "s3c2412-i2s",
        .codec_name     = "wm8750.0-001a",
-       .init           = jive_wm8750_init,
+       .dai_fmt        = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
+                         SND_SOC_DAIFMT_CBS_CFS,
        .ops            = &jive_ops,
 };
 
@@ -135,6 +106,7 @@ static struct snd_soc_card snd_soc_machine_jive = {
        .num_dapm_widgets = ARRAY_SIZE(wm8750_dapm_widgets),
        .dapm_routes    = audio_map,
        .num_dapm_routes = ARRAY_SIZE(audio_map),
+       .fully_routed   = true,
 };
 
 static struct platform_device *jive_snd_device;