]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: pxa: e800_wm9712: Convert to table based DAPM setup
authorLars-Peter Clausen <lars@metafoo.de>
Sat, 1 Mar 2014 14:48:16 +0000 (15:48 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 3 Mar 2014 02:01:48 +0000 (11:01 +0900)
Use table based setup to register the DAPM widgets and routes. This on one hand
makes the code a bit cleaner and on the other hand the board level DAPM elements
get registered in the card's DAPM context rather than in the CODEC's DAPM
context.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/pxa/e800_wm9712.c

index 3137f800b43f139a2c41adcfb3edc7981aae347a..24c2078ce70b2a97e05d7b63fa7d1a98da8498a3 100644 (file)
@@ -71,19 +71,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
        {"MIC2", NULL, "Mic (Internal2)"},
 };
 
-static int e800_ac97_init(struct snd_soc_pcm_runtime *rtd)
-{
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
-
-       snd_soc_dapm_new_controls(dapm, e800_dapm_widgets,
-                                       ARRAY_SIZE(e800_dapm_widgets));
-
-       snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
-
-       return 0;
-}
-
 static struct snd_soc_dai_link e800_dai[] = {
        {
                .name = "AC97",
@@ -92,7 +79,6 @@ static struct snd_soc_dai_link e800_dai[] = {
                .codec_dai_name = "wm9712-hifi",
                .platform_name = "pxa-pcm-audio",
                .codec_name = "wm9712-codec",
-               .init = e800_ac97_init,
        },
        {
                .name = "AC97 Aux",
@@ -109,6 +95,11 @@ static struct snd_soc_card e800 = {
        .owner = THIS_MODULE,
        .dai_link = e800_dai,
        .num_links = ARRAY_SIZE(e800_dai),
+
+       .dapm_widgets = e800_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(e800_dapm_widgets),
+       .dapm_routes = audio_map,
+       .num_dapm_routes = ARRAY_SIZE(audio_map),
 };
 
 static struct gpio e800_audio_gpios[] = {