]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: imx-card: Add playback_only or capture_only support
authorShengjiu Wang <shengjiu.wang@nxp.com>
Mon, 17 Feb 2025 02:17:15 +0000 (10:17 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 24 Feb 2025 15:55:51 +0000 (15:55 +0000)
With the DPCM case, the backend only support capture or playback, then
the linked frontend can only support capture or playback, but frontend
can't automatically enable only capture or playback, it needs the input
from dt-binding.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Link: https://patch.msgid.link/20250217021715.284951-3-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/imx-card.c

index ac043ad367ace009d91b3ec445c7eeef413f047b..905294682996e6c67b8ccff49cfe4066875d458b 100644 (file)
@@ -518,6 +518,7 @@ static int imx_card_parse_of(struct imx_card_data *data)
        struct snd_soc_dai_link *link;
        struct dai_link_data *link_data;
        struct of_phandle_args args;
+       bool playback_only, capture_only;
        int ret, num_links;
        u32 asrc_fmt = 0;
        u32 width;
@@ -679,6 +680,10 @@ static int imx_card_parse_of(struct imx_card_data *data)
                        link->ops = &imx_aif_ops;
                }
 
+               graph_util_parse_link_direction(np, &playback_only, &capture_only);
+               link->playback_only = playback_only;
+               link->capture_only = capture_only;
+
                /* Get dai fmt */
                ret = simple_util_parse_daifmt(dev, np, codec,
                                               NULL, &link->dai_fmt);