diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2014-03-01 09:48:18 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-03-02 21:01:48 -0500 |
commit | f6b2a04590bb3f7323a45b183956e63574d1f14b (patch) | |
tree | 4d370fdd00cb805f000e08d2923f704eebb086fe /sound/soc/pxa | |
parent | 1bdd301f791e047ed36c18656890c0001f8ce5a3 (diff) |
ASoC: pxa: mioa701_wm9713: Convert to table based DAPM setup
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 remove the snd_soc_dapm_enable_pin() calls, since pins are enabled by
default and there are no matching snd_soc_dapm_disable_pin() calls.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/pxa')
-rw-r--r-- | sound/soc/pxa/mioa701_wm9713.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c index 160c5245448f..595eee341e90 100644 --- a/sound/soc/pxa/mioa701_wm9713.c +++ b/sound/soc/pxa/mioa701_wm9713.c | |||
@@ -127,16 +127,8 @@ static const struct snd_soc_dapm_route audio_map[] = { | |||
127 | static int mioa701_wm9713_init(struct snd_soc_pcm_runtime *rtd) | 127 | static int mioa701_wm9713_init(struct snd_soc_pcm_runtime *rtd) |
128 | { | 128 | { |
129 | struct snd_soc_codec *codec = rtd->codec; | 129 | struct snd_soc_codec *codec = rtd->codec; |
130 | struct snd_soc_dapm_context *dapm = &codec->dapm; | ||
131 | unsigned short reg; | 130 | unsigned short reg; |
132 | 131 | ||
133 | /* Add mioa701 specific widgets */ | ||
134 | snd_soc_dapm_new_controls(dapm, mioa701_dapm_widgets, | ||
135 | ARRAY_SIZE(mioa701_dapm_widgets)); | ||
136 | |||
137 | /* Set up mioa701 specific audio path audio_mapnects */ | ||
138 | snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map)); | ||
139 | |||
140 | /* Prepare GPIO8 for rear speaker amplifier */ | 132 | /* Prepare GPIO8 for rear speaker amplifier */ |
141 | reg = codec->driver->read(codec, AC97_GPIO_CFG); | 133 | reg = codec->driver->read(codec, AC97_GPIO_CFG); |
142 | codec->driver->write(codec, AC97_GPIO_CFG, reg | 0x0100); | 134 | codec->driver->write(codec, AC97_GPIO_CFG, reg | 0x0100); |
@@ -145,12 +137,6 @@ static int mioa701_wm9713_init(struct snd_soc_pcm_runtime *rtd) | |||
145 | reg = codec->driver->read(codec, AC97_3D_CONTROL); | 137 | reg = codec->driver->read(codec, AC97_3D_CONTROL); |
146 | codec->driver->write(codec, AC97_3D_CONTROL, reg | 0xc000); | 138 | codec->driver->write(codec, AC97_3D_CONTROL, reg | 0xc000); |
147 | 139 | ||
148 | snd_soc_dapm_enable_pin(dapm, "Front Speaker"); | ||
149 | snd_soc_dapm_enable_pin(dapm, "Rear Speaker"); | ||
150 | snd_soc_dapm_enable_pin(dapm, "Front Mic"); | ||
151 | snd_soc_dapm_enable_pin(dapm, "GSM Line In"); | ||
152 | snd_soc_dapm_enable_pin(dapm, "GSM Line Out"); | ||
153 | |||
154 | return 0; | 140 | return 0; |
155 | } | 141 | } |
156 | 142 | ||
@@ -183,6 +169,11 @@ static struct snd_soc_card mioa701 = { | |||
183 | .owner = THIS_MODULE, | 169 | .owner = THIS_MODULE, |
184 | .dai_link = mioa701_dai, | 170 | .dai_link = mioa701_dai, |
185 | .num_links = ARRAY_SIZE(mioa701_dai), | 171 | .num_links = ARRAY_SIZE(mioa701_dai), |
172 | |||
173 | .dapm_widgets = mioa701_dapm_widgets, | ||
174 | .num_dapm_widgets = ARRAY_SIZE(mioa701_dapm_widgets), | ||
175 | .dapm_routes = audio_map, | ||
176 | .num_dapm_routes = ARRAY_SIZE(audio_map), | ||
186 | }; | 177 | }; |
187 | 178 | ||
188 | static int mioa701_wm9713_probe(struct platform_device *pdev) | 179 | static int mioa701_wm9713_probe(struct platform_device *pdev) |