summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/ad73311.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-08-07 20:59:51 +0400
committerMark Brown <broonie@linaro.org>2013-08-08 17:24:30 +0400
commit827d22f13618557bd35f938b020c954d83a82977 (patch)
treedb29dc5ee7946f516654e8e847b6b4ed23912d3f /sound/soc/codecs/ad73311.c
parentc095ba7224d8edc71dcef0d655911399a8bd4a3f (diff)
downloadlinux-827d22f13618557bd35f938b020c954d83a82977.tar.xz
ASoC: ad73311: Add DAPM support
This makes it possible to hook up other devices in boards and is required by removal of support for non-DAPM CODECs in the core. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Diffstat (limited to 'sound/soc/codecs/ad73311.c')
-rw-r--r--sound/soc/codecs/ad73311.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/sound/soc/codecs/ad73311.c b/sound/soc/codecs/ad73311.c
index b1f2baf42b48..5fac8adbc136 100644
--- a/sound/soc/codecs/ad73311.c
+++ b/sound/soc/codecs/ad73311.c
@@ -23,6 +23,21 @@
#include "ad73311.h"
+static const struct snd_soc_dapm_widget ad73311_dapm_widgets[] = {
+SND_SOC_DAPM_INPUT("VINP"),
+SND_SOC_DAPM_INPUT("VINN"),
+SND_SOC_DAPM_OUTPUT("VOUTN"),
+SND_SOC_DAPM_OUTPUT("VOUTP"),
+};
+
+static const struct snd_soc_dapm_route ad73311_dapm_routes[] = {
+ { "Capture", NULL, "VINP" },
+ { "Capture", NULL, "VINN" },
+
+ { "VOUTN", NULL, "Playback" },
+ { "VOUTP", NULL, "Playback" },
+};
+
static struct snd_soc_dai_driver ad73311_dai = {
.name = "ad73311-hifi",
.playback = {
@@ -39,7 +54,12 @@ static struct snd_soc_dai_driver ad73311_dai = {
.formats = SNDRV_PCM_FMTBIT_S16_LE, },
};
-static struct snd_soc_codec_driver soc_codec_dev_ad73311;
+static struct snd_soc_codec_driver soc_codec_dev_ad73311 = {
+ .dapm_widgets = ad73311_dapm_widgets,
+ .num_dapm_widgets = ARRAY_SIZE(ad73311_dapm_widgets),
+ .dapm_routes = ad73311_dapm_routes,
+ .num_dapm_routes = ARRAY_SIZE(ad73311_dapm_routes),
+};
static int ad73311_probe(struct platform_device *pdev)
{