]> Pileus Git - ~andy/linux/blobdiff - sound/soc/omap/sdp4430.c
Merge branch 'for-linus/i2c-3.2' of git://git.fluff.org/bjdooks/linux
[~andy/linux] / sound / soc / omap / sdp4430.c
index 79ec76d521e1f6719780b0ec4eff636e529fb30f..cc3d792af5ead2d0761210eacba97811eb3135b4 100644 (file)
@@ -120,30 +120,8 @@ static const struct snd_soc_dapm_route audio_map[] = {
 static int sdp4430_twl6040_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
        int ret, hs_trim;
 
-       /* Add SDP4430 specific widgets */
-       ret = snd_soc_dapm_new_controls(dapm, sdp4430_twl6040_dapm_widgets,
-                               ARRAY_SIZE(sdp4430_twl6040_dapm_widgets));
-       if (ret)
-               return ret;
-
-       /* Set up SDP4430 specific audio path audio_map */
-       snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
-
-       /* SDP4430 connected pins */
-       snd_soc_dapm_enable_pin(dapm, "Ext Mic");
-       snd_soc_dapm_enable_pin(dapm, "Ext Spk");
-       snd_soc_dapm_enable_pin(dapm, "AFML");
-       snd_soc_dapm_enable_pin(dapm, "AFMR");
-       snd_soc_dapm_enable_pin(dapm, "Headset Mic");
-       snd_soc_dapm_enable_pin(dapm, "Headset Stereophone");
-
-       ret = snd_soc_dapm_sync(dapm);
-       if (ret)
-               return ret;
-
        /*
         * Configure McPDM offset cancellation based on the HSOTRIM value from
         * twl6040.
@@ -186,6 +164,11 @@ static struct snd_soc_card snd_soc_sdp4430 = {
        .name = "SDP4430",
        .dai_link = &sdp4430_dai,
        .num_links = 1,
+
+       .dapm_widgets = sdp4430_twl6040_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(sdp4430_twl6040_dapm_widgets),
+       .dapm_routes = audio_map,
+       .num_dapm_routes = ARRAY_SIZE(audio_map),
 };
 
 static struct platform_device *sdp4430_snd_device;