ASoC: pxa: e800_wm9712: 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.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Lars-Peter Clausen 2014-03-01 15:48:16 +01:00 committed by Mark Brown
parent 98308c825b
commit 1bdd301f79
1 changed files with 5 additions and 14 deletions

View File

@ -71,19 +71,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
{"MIC2", NULL, "Mic (Internal2)"}, {"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[] = { static struct snd_soc_dai_link e800_dai[] = {
{ {
.name = "AC97", .name = "AC97",
@ -92,7 +79,6 @@ static struct snd_soc_dai_link e800_dai[] = {
.codec_dai_name = "wm9712-hifi", .codec_dai_name = "wm9712-hifi",
.platform_name = "pxa-pcm-audio", .platform_name = "pxa-pcm-audio",
.codec_name = "wm9712-codec", .codec_name = "wm9712-codec",
.init = e800_ac97_init,
}, },
{ {
.name = "AC97 Aux", .name = "AC97 Aux",
@ -109,6 +95,11 @@ static struct snd_soc_card e800 = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.dai_link = e800_dai, .dai_link = e800_dai,
.num_links = ARRAY_SIZE(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[] = { static struct gpio e800_audio_gpios[] = {