ASoC: pxa: zylonite: Convert to table based DAPM setup
authorLars-Peter Clausen <lars@metafoo.de>
Sat, 1 Mar 2014 14:48:20 +0000 (15:48 +0100)
committerMark Brown <broonie@linaro.org>
Mon, 3 Mar 2014 02:01:52 +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.

Also drop the two snd_soc_dapm_enable_pin() since pins are enabled by default
and there is no matching snd_soc_dapm_disable_pin() in the driver.

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

index db8aadf8932dbc9e319975d474bd17a47884a2c7..23bf991e95d53fa282f3b8e6dfbd2e9e2eeada21 100644 (file)
@@ -71,22 +71,10 @@ static const struct snd_soc_dapm_route audio_map[] = {
 
 static int zylonite_wm9713_init(struct snd_soc_pcm_runtime *rtd)
 {
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_dapm_context *dapm = &codec->dapm;
-
        if (clk_pout)
                snd_soc_dai_set_pll(rtd->codec_dai, 0, 0,
                                    clk_get_rate(pout), 0);
 
-       snd_soc_dapm_new_controls(dapm, zylonite_dapm_widgets,
-                                 ARRAY_SIZE(zylonite_dapm_widgets));
-
-       snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
-
-       /* Static setup for now */
-       snd_soc_dapm_enable_pin(dapm, "Headphone");
-       snd_soc_dapm_enable_pin(dapm, "Headset Earpiece");
-
        return 0;
 }
 
@@ -256,6 +244,11 @@ static struct snd_soc_card zylonite = {
        .resume_pre = &zylonite_resume_pre,
        .dai_link = zylonite_dai,
        .num_links = ARRAY_SIZE(zylonite_dai),
+
+       .dapm_widgets = zylonite_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(zylonite_dapm_widgets),
+       .dapm_routes = audio_map,
+       .num_dapm_routes = ARRAY_SIZE(audio_map),
 };
 
 static struct platform_device *zylonite_snd_ac97_device;