This patch can register different ASoC platform drivers in reference to "fsl,platform" property of the corresponding node in dts. So sound cards based on different rpmsg channels can link to their respective platform drivers.
Signed-off-by: Chancel Liu chancel.liu@nxp.com
sound/soc/fsl/imx-pcm-rpmsg.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/imx-pcm-rpmsg.c b/sound/soc/fsl/imx-pcm- rpmsg.c index 35049043e532..2f310994f7ee 100644 --- a/sound/soc/fsl/imx-pcm-rpmsg.c +++ b/sound/soc/fsl/imx-pcm-rpmsg.c @@ -178,7 +178,7 @@ static int imx_rpmsg_pcm_hw_params(struct snd_soc_component *component, msg->s_msg.param.channels = RPMSG_CH_STEREO; break; default:
ret = -EINVAL;
msg->s_msg.param.channels = params_channels(params);
Please use separate commit for this change, I think the fsl_rpmsg_dai. channels_max Should be updated also?
Best regards Wang shengjiug
break;
}
@@ -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
2.25.1