aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/sh
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-03-03 02:14:14 -0500
committerMark Brown <broonie@linaro.org>2014-03-10 13:35:06 -0400
commit23a735cc0200609edeff7c148c83d5046169dee9 (patch)
tree1c5c3d9bca88786c48dc6fc0a480dd74e7c15ebe /sound/soc/sh
parent38dbfb59d1175ef458d006556061adeaa8751b72 (diff)
ASoC: migor: 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 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>
Diffstat (limited to 'sound/soc/sh')
-rw-r--r--sound/soc/sh/migor.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/sound/soc/sh/migor.c b/sound/soc/sh/migor.c
index 5014a884afee..c58c2529f103 100644
--- a/sound/soc/sh/migor.c
+++ b/sound/soc/sh/migor.c
@@ -136,19 +136,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
136 { "Mic Bias", NULL, "External Microphone" }, 136 { "Mic Bias", NULL, "External Microphone" },
137}; 137};
138 138
139static int migor_dai_init(struct snd_soc_pcm_runtime *rtd)
140{
141 struct snd_soc_codec *codec = rtd->codec;
142 struct snd_soc_dapm_context *dapm = &codec->dapm;
143
144 snd_soc_dapm_new_controls(dapm, migor_dapm_widgets,
145 ARRAY_SIZE(migor_dapm_widgets));
146
147 snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
148
149 return 0;
150}
151
152/* migor digital audio interface glue - connects codec <--> CPU */ 139/* migor digital audio interface glue - connects codec <--> CPU */
153static struct snd_soc_dai_link migor_dai = { 140static struct snd_soc_dai_link migor_dai = {
154 .name = "wm8978", 141 .name = "wm8978",
@@ -158,7 +145,6 @@ static struct snd_soc_dai_link migor_dai = {
158 .platform_name = "siu-pcm-audio", 145 .platform_name = "siu-pcm-audio",
159 .codec_name = "wm8978.0-001a", 146 .codec_name = "wm8978.0-001a",
160 .ops = &migor_dai_ops, 147 .ops = &migor_dai_ops,
161 .init = migor_dai_init,
162}; 148};
163 149
164/* migor audio machine driver */ 150/* migor audio machine driver */
@@ -167,6 +153,11 @@ static struct snd_soc_card snd_soc_migor = {
167 .owner = THIS_MODULE, 153 .owner = THIS_MODULE,
168 .dai_link = &migor_dai, 154 .dai_link = &migor_dai,
169 .num_links = 1, 155 .num_links = 1,
156
157 .dapm_widgets = migor_dapm_widgets,
158 .num_dapm_widgets = ARRAY_SIZE(migor_dapm_widgets),
159 .dapm_routes = audio_map,
160 .num_dapm_routes = ARRAY_SIZE(audio_map),
170}; 161};
171 162
172static struct platform_device *migor_snd_device; 163static struct platform_device *migor_snd_device;