summaryrefslogtreecommitdiff
path: root/sound/soc/fsl
diff options
context:
space:
mode:
authorChancel Liu <chancel.liu@nxp.com>2022-09-30 09:44:41 +0300
committerMark Brown <broonie@kernel.org>2022-10-17 14:48:18 +0300
commit4b48440ea390bada41928920446928beb3652a76 (patch)
treecc033c0fb8f2ea0a82e943128c216fc989544717 /sound/soc/fsl
parentf26c1bb8a8ebe72748a3bb6f5d75079b642a33e8 (diff)
downloadlinux-4b48440ea390bada41928920446928beb3652a76.tar.xz
ASoC: imx-rpmsg: Assign platform driver used by machine driver to link with
Each ASoC platform driver is named by rpmsg channel. ASoC machine driver can parse "fsl,rpmsg-channel-name" property to figure out which ASoC platform driver it should link with. Signed-off-by: Chancel Liu <chancel.liu@nxp.com> Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com> Link: https://lore.kernel.org/r/20220930064441.2548505-8-chancel.liu@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/fsl')
-rw-r--r--sound/soc/fsl/imx-rpmsg.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c
index 4d99f4858a14..89178106fe2c 100644
--- a/sound/soc/fsl/imx-rpmsg.c
+++ b/sound/soc/fsl/imx-rpmsg.c
@@ -58,6 +58,7 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
struct platform_device *rpmsg_pdev = to_platform_device(dev);
struct device_node *np = rpmsg_pdev->dev.of_node;
struct of_phandle_args args;
+ const char *platform_name;
struct imx_rpmsg *data;
int ret = 0;
@@ -109,7 +110,10 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
}
data->dai.cpus->dai_name = dev_name(&rpmsg_pdev->dev);
- data->dai.platforms->name = IMX_PCM_DRV_NAME;
+ if (!of_property_read_string(np, "fsl,rpmsg-channel-name", &platform_name))
+ data->dai.platforms->name = platform_name;
+ else
+ data->dai.platforms->name = "rpmsg-audio-channel";
data->dai.playback_only = true;
data->dai.capture_only = true;
data->card.num_links = 1;