diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-03-27 09:33:03 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-03-29 18:15:14 -0400 |
commit | 5e251aecbd4a4bf3ff0b0ff04653afa4d01eba54 (patch) | |
tree | 8278545fbb563f976bf2f8ec5abb1fe7a1f5fe0c /sound/soc/codecs/wm8731.c | |
parent | ecd015127813c7893f6900cf54c6362b26d8ff90 (diff) |
ASoC: Convert WM8731 to table based DAPM setup
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound/soc/codecs/wm8731.c')
-rw-r--r-- | sound/soc/codecs/wm8731.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c index 0a67c31b2663..44a591e82558 100644 --- a/sound/soc/codecs/wm8731.c +++ b/sound/soc/codecs/wm8731.c | |||
@@ -201,7 +201,7 @@ static int wm8731_check_osc(struct snd_soc_dapm_widget *source, | |||
201 | return wm8731->sysclk_type == WM8731_SYSCLK_MCLK; | 201 | return wm8731->sysclk_type == WM8731_SYSCLK_MCLK; |
202 | } | 202 | } |
203 | 203 | ||
204 | static const struct snd_soc_dapm_route intercon[] = { | 204 | static const struct snd_soc_dapm_route wm8731_intercon[] = { |
205 | {"DAC", NULL, "OSC", wm8731_check_osc}, | 205 | {"DAC", NULL, "OSC", wm8731_check_osc}, |
206 | {"ADC", NULL, "OSC", wm8731_check_osc}, | 206 | {"ADC", NULL, "OSC", wm8731_check_osc}, |
207 | 207 | ||
@@ -227,17 +227,6 @@ static const struct snd_soc_dapm_route intercon[] = { | |||
227 | {"Mic Bias", NULL, "MICIN"}, | 227 | {"Mic Bias", NULL, "MICIN"}, |
228 | }; | 228 | }; |
229 | 229 | ||
230 | static int wm8731_add_widgets(struct snd_soc_codec *codec) | ||
231 | { | ||
232 | struct snd_soc_dapm_context *dapm = &codec->dapm; | ||
233 | |||
234 | snd_soc_dapm_new_controls(dapm, wm8731_dapm_widgets, | ||
235 | ARRAY_SIZE(wm8731_dapm_widgets)); | ||
236 | snd_soc_dapm_add_routes(dapm, intercon, ARRAY_SIZE(intercon)); | ||
237 | |||
238 | return 0; | ||
239 | } | ||
240 | |||
241 | struct _coeff_div { | 230 | struct _coeff_div { |
242 | u32 mclk; | 231 | u32 mclk; |
243 | u32 rate; | 232 | u32 rate; |
@@ -599,7 +588,6 @@ static int wm8731_probe(struct snd_soc_codec *codec) | |||
599 | 588 | ||
600 | snd_soc_add_controls(codec, wm8731_snd_controls, | 589 | snd_soc_add_controls(codec, wm8731_snd_controls, |
601 | ARRAY_SIZE(wm8731_snd_controls)); | 590 | ARRAY_SIZE(wm8731_snd_controls)); |
602 | wm8731_add_widgets(codec); | ||
603 | 591 | ||
604 | /* Regulators will have been enabled by bias management */ | 592 | /* Regulators will have been enabled by bias management */ |
605 | regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies), wm8731->supplies); | 593 | regulator_bulk_disable(ARRAY_SIZE(wm8731->supplies), wm8731->supplies); |
@@ -636,6 +624,10 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8731 = { | |||
636 | .reg_cache_size = ARRAY_SIZE(wm8731_reg), | 624 | .reg_cache_size = ARRAY_SIZE(wm8731_reg), |
637 | .reg_word_size = sizeof(u16), | 625 | .reg_word_size = sizeof(u16), |
638 | .reg_cache_default = wm8731_reg, | 626 | .reg_cache_default = wm8731_reg, |
627 | .dapm_widgets = wm8731_dapm_widgets, | ||
628 | .num_dapm_widgets = ARRAY_SIZE(wm8731_dapm_widgets), | ||
629 | .dapm_routes = wm8731_intercon, | ||
630 | .num_dapm_routes = ARRAY_SIZE(wm8731_intercon), | ||
639 | }; | 631 | }; |
640 | 632 | ||
641 | #if defined(CONFIG_SPI_MASTER) | 633 | #if defined(CONFIG_SPI_MASTER) |