]> Pileus Git - ~andy/linux/blobdiff - sound/soc/pxa/saarb.c
Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / sound / soc / pxa / saarb.c
index d9467a2c6de0ec635d0c4d9a0cc8f838b24f8f64..c34146b776b4885faa090fa2cae671874e6acc72 100644 (file)
@@ -51,7 +51,7 @@ static const struct snd_soc_dapm_widget saarb_dapm_widgets[] = {
 };
 
 /* saarb machine audio map */
-static const struct snd_soc_dapm_route audio_map[] = {
+static const struct snd_soc_dapm_route saarb_audio_map[] = {
        {"Headset Stereophone", NULL, "HS1"},
        {"Headset Stereophone", NULL, "HS2"},
 
@@ -92,15 +92,6 @@ static int saarb_i2s_hw_params(struct snd_pcm_substream *substream,
        if (ret < 0)
                return ret;
 
-       ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
-                       SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
-       if (ret < 0)
-               return ret;
-       ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
-                       SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
-       if (ret < 0)
-               return ret;
-
        ret = snd_soc_dai_set_tdm_slot(cpu_dai, 3, 3, 2, width);
 
        return ret;
@@ -119,25 +110,28 @@ static struct snd_soc_dai_link saarb_dai[] = {
                .platform_name  = "pxa-pcm-audio",
                .codec_name     = "88pm860x-codec",
                .init           = saarb_pm860x_init,
+               .dai_fmt        = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
+                                 SND_SOC_DAIFMT_CBM_CFM,
                .ops            = &saarb_i2s_ops,
        },
 };
 
 static struct snd_soc_card snd_soc_card_saarb = {
        .name = "Saarb",
+       .owner = THIS_MODULE,
        .dai_link = saarb_dai,
        .num_links = ARRAY_SIZE(saarb_dai),
+
+       .dapm_widgets = saarb_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(saarb_dapm_widgets),
+       .dapm_routes = saarb_audio_map,
+       .num_dapm_routes = ARRAY_SIZE(saarb_audio_map),
 };
 
 static int saarb_pm860x_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_codec *codec = rtd->codec;
        struct snd_soc_dapm_context *dapm = &codec->dapm;
-       int ret;
-
-       snd_soc_dapm_new_controls(dapm, saarb_dapm_widgets,
-                                 ARRAY_SIZE(saarb_dapm_widgets));
-       snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
 
        /* connected pins */
        snd_soc_dapm_enable_pin(dapm, "Ext Speaker");