ASoC: ak4554: Add DAPM support
authorMark Brown <broonie@linaro.org>
Sun, 11 Aug 2013 11:28:42 +0000 (12:28 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 13 Aug 2013 12:38:36 +0000 (13:38 +0100)
This makes it possible to hook the device into a more complex board and
ensures it will continue to work with non-DAPM support removed from the
core.

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

index 6aed9c4..79e9555 100644 (file)
  * CPU-DAI2 (capture only fmt = LEFT_J) ---+
  */
 
+static const struct snd_soc_dapm_widget ak4554_dapm_widgets[] = {
+SND_SOC_DAPM_INPUT("AINL"),
+SND_SOC_DAPM_INPUT("AINR"),
+
+SND_SOC_DAPM_OUTPUT("AOUTL"),
+SND_SOC_DAPM_OUTPUT("AOUTR"),
+};
+
+static const struct snd_soc_dapm_route ak4554_dapm_routes[] = {
+       { "Capture", NULL, "AINL" },
+       { "Capture", NULL, "AINR" },
+
+       { "AOUTL", NULL, "Playback" },
+       { "AOUTR", NULL, "Playback" },
+};
+
 static struct snd_soc_dai_driver ak4554_dai = {
        .name = "ak4554-hifi",
        .playback = {
@@ -49,6 +65,10 @@ static struct snd_soc_dai_driver ak4554_dai = {
 };
 
 static struct snd_soc_codec_driver soc_codec_dev_ak4554 = {
+       .dapm_widgets = ak4554_dapm_widgets,
+       .num_dapm_widgets = ARRAY_SIZE(ak4554_dapm_widgets),
+       .dapm_routes = ak4554_dapm_routes,
+       .num_dapm_routes = ARRAY_SIZE(ak4554_dapm_routes),
 };
 
 static int ak4554_soc_probe(struct platform_device *pdev)