]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: osk5912: Let core to deal with the DAPM widgets
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Mon, 10 Oct 2011 12:34:11 +0000 (15:34 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 10 Oct 2011 15:18:12 +0000 (16:18 +0100)
Pass the DAPM widgets/routes via the snd_soc_card struct
to core. With this change we do not need the init function
since the remaining snd_soc_dapm_enable_pin calls are
not needed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/omap/osk5912.c

index 18f8a2db2d31f4bf68faf71b2b43a3b5bac84698..db91ccaf6c97ec1bde9fd1aa8d286aead101925f 100644 (file)
@@ -91,25 +91,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
        {"MICIN", NULL, "Mic Jack"},
 };
 
-static int osk_tlv320aic23_init(struct snd_soc_pcm_runtime *rtd)
-{
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
-
-       /* Add osk5912 specific widgets */
-       snd_soc_dapm_new_controls(dapm, tlv320aic23_dapm_widgets,
-                                 ARRAY_SIZE(tlv320aic23_dapm_widgets));
-
-       /* Set up osk5912 specific audio path audio_map */
-       snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
-
-       snd_soc_dapm_enable_pin(dapm, "Headphone Jack");
-       snd_soc_dapm_enable_pin(dapm, "Line In");
-       snd_soc_dapm_enable_pin(dapm, "Mic Jack");
-
-       return 0;
-}
-
 /* Digital audio interface glue - connects codec <--> CPU */
 static struct snd_soc_dai_link osk_dai = {
        .name = "TLV320AIC23",
@@ -120,7 +101,6 @@ static struct snd_soc_dai_link osk_dai = {
        .codec_name = "tlv320aic23-codec",
        .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_NB_NF |
                   SND_SOC_DAIFMT_CBM_CFM,
-       .init = osk_tlv320aic23_init,
        .ops = &osk_ops,
 };
 
@@ -129,6 +109,11 @@ static struct snd_soc_card snd_soc_card_osk = {
        .name = "OSK5912",
        .dai_link = &osk_dai,
        .num_links = 1,
+
+       .dapm_widgets = tlv320aic23_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(tlv320aic23_dapm_widgets),
+       .dapm_routes = audio_map,
+       .num_dapm_routes = ARRAY_SIZE(audio_map),
 };
 
 static struct platform_device *osk_snd_device;