Unverified Commit b2c2a947 authored by Chancel Liu's avatar Chancel Liu Committed by Mark Brown
Browse files

ASoC: imx-pcm-rpmsg: Register different platform drivers



This patch can register different ASoC platform drivers if there are
several rpmsg channels. Thus sound cards based on different rpmsg
channels can link to their respective platform drivers. Besides, the
name of driver is equal to the name of rpmsg channel.

Signed-off-by: default avatarChancel Liu <chancel.liu@nxp.com>
Acked-by: default avatarShengjiu Wang <shengjiu.wang@gmail.com>
Link: https://lore.kernel.org/r/20220930064441.2548505-4-chancel.liu@nxp.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f04189e0
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ static int imx_rpmsg_pcm_probe(struct platform_device *pdev)
	info->rpdev = container_of(pdev->dev.parent, struct rpmsg_device, dev);
	info->dev = &pdev->dev;
	/* Setup work queue */
	info->rpmsg_wq = alloc_ordered_workqueue("rpmsg_audio",
	info->rpmsg_wq = alloc_ordered_workqueue(info->rpdev->id.name,
						 WQ_HIGHPRI |
						 WQ_UNBOUND |
						 WQ_FREEZABLE);
@@ -723,11 +723,15 @@ static int imx_rpmsg_pcm_probe(struct platform_device *pdev)
	if (ret)
		goto fail;

	component = snd_soc_lookup_component(&pdev->dev, IMX_PCM_DRV_NAME);
	component = snd_soc_lookup_component(&pdev->dev, NULL);
	if (!component) {
		ret = -EINVAL;
		goto fail;
	}

	/* platform component name is used by machine driver to link with */
	component->name = info->rpdev->id.name;

#ifdef CONFIG_DEBUG_FS
	component->debugfs_prefix = "rpmsg";
#endif