From: Jarkko Nikula Date: Mon, 28 Apr 2014 12:17:52 +0000 (+0200) Subject: ASoC: core: Add support for machine specific trigger callback X-Git-Tag: v3.16-rc1~12^2~52^2~8^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4792b0dbcf3d41a19e76adc9c98c5cc889daa065;p=thirdparty%2Fkernel%2Flinux.git ASoC: core: Add support for machine specific trigger callback Machine specific trigger callback allows to do final stream start/stop related operations in a machine driver after setting up the codec, DMA and DAI. One example could be clock management for linked streams case where machine driver can start/stop synchronously the linked streams. Signed-off-by: Jarkko Nikula Signed-off-by: Stefan Roese Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 2cedf09f6d961..a3a70214edee2 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -819,6 +819,13 @@ static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd) if (ret < 0) return ret; } + + if (rtd->dai_link->ops && rtd->dai_link->ops->trigger) { + ret = rtd->dai_link->ops->trigger(substream, cmd); + if (ret < 0) + return ret; + } + return 0; }