ASoC: migor: Convert to table based DAPM setup
authorLars-Peter Clausen <lars@metafoo.de>
Mon, 3 Mar 2014 07:14:14 +0000 (08:14 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 10 Mar 2014 17:35:06 +0000 (17:35 +0000)
Use table based setup to register the DAPM widgets and routes.  This on one hand
makes the code a bit shorter and 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/sh/migor.c

index 5014a884afeebff8fdf168a76dd90d33e2387bbf..c58c2529f10345d01745d919124c0634a70d7deb 100644 (file)
@@ -136,19 +136,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
        { "Mic Bias", NULL, "External Microphone" },
 };
 
-static int migor_dai_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, migor_dapm_widgets,
-                                 ARRAY_SIZE(migor_dapm_widgets));
-
-       snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
-
-       return 0;
-}
-
 /* migor digital audio interface glue - connects codec <--> CPU */
 static struct snd_soc_dai_link migor_dai = {
        .name = "wm8978",
@@ -158,7 +145,6 @@ static struct snd_soc_dai_link migor_dai = {
        .platform_name = "siu-pcm-audio",
        .codec_name = "wm8978.0-001a",
        .ops = &migor_dai_ops,
-       .init = migor_dai_init,
 };
 
 /* migor audio machine driver */
@@ -167,6 +153,11 @@ static struct snd_soc_card snd_soc_migor = {
        .owner = THIS_MODULE,
        .dai_link = &migor_dai,
        .num_links = 1,
+
+       .dapm_widgets = migor_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(migor_dapm_widgets),
+       .dapm_routes = audio_map,
+       .num_dapm_routes = ARRAY_SIZE(audio_map),
 };
 
 static struct platform_device *migor_snd_device;