ASoC: pcm1792a: Add DAPM support
authorMark Brown <broonie@linaro.org>
Tue, 13 Aug 2013 17:30:00 +0000 (18:30 +0100)
committerMark Brown <broonie@linaro.org>
Thu, 15 Aug 2013 10:33:15 +0000 (11:33 +0100)
Provide DAPM for the device, ensuring operation with DAPM required by the
core and making it easier to hook up external hardware to it.

Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/pcm1792a.c

index c57d3a5665c50640d7dc6cfe43d244f0ebeceb9c..2a8eccf64c76565ab5abb96f3436face0dda4f01 100644 (file)
@@ -154,6 +154,20 @@ static const struct snd_kcontrol_new pcm1792a_controls[] = {
                         pcm1792a_dac_tlv),
 };
 
+static const struct snd_soc_dapm_widget pcm1792a_dapm_widgets[] = {
+SND_SOC_DAPM_OUTPUT("IOUTL+"),
+SND_SOC_DAPM_OUTPUT("IOUTL-"),
+SND_SOC_DAPM_OUTPUT("IOUTR+"),
+SND_SOC_DAPM_OUTPUT("IOUTR-"),
+};
+
+static const struct snd_soc_dapm_route pcm1792a_dapm_routes[] = {
+       { "IOUTL+", NULL, "Playback" },
+       { "IOUTL-", NULL, "Playback" },
+       { "IOUTR+", NULL, "Playback" },
+       { "IOUTR-", NULL, "Playback" },
+};
+
 static struct snd_soc_dai_driver pcm1792a_dai = {
        .name = "pcm1792a-hifi",
        .playback = {
@@ -184,6 +198,10 @@ static const struct regmap_config pcm1792a_regmap = {
 static struct snd_soc_codec_driver soc_codec_dev_pcm1792a = {
        .controls               = pcm1792a_controls,
        .num_controls           = ARRAY_SIZE(pcm1792a_controls),
+       .dapm_widgets           = pcm1792a_dapm_widgets,
+       .num_dapm_widgets       = ARRAY_SIZE(pcm1792a_dapm_widgets),
+       .dapm_routes            = pcm1792a_dapm_routes,
+       .num_dapm_routes        = ARRAY_SIZE(pcm1792a_dapm_routes),
 };
 
 static int pcm1792a_spi_probe(struct spi_device *spi)