[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <GV1PR04MB91831EF183F0D0E6E9BBD9E9E3799@GV1PR04MB9183.eurprd04.prod.outlook.com>
Date: Tue, 30 Aug 2022 06:31:27 +0000
From: "S.J. Wang" <shengjiu.wang@....com>
To: Chancel Liu <chancel.liu@....com>,
"lgirdwood@...il.com" <lgirdwood@...il.com>,
"broonie@...nel.org" <broonie@...nel.org>,
"perex@...ex.cz" <perex@...ex.cz>,
"tiwai@...e.com" <tiwai@...e.com>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"krzysztof.kozlowski+dt@...aro.org"
<krzysztof.kozlowski+dt@...aro.org>,
"Xiubo.Lee@...il.com" <Xiubo.Lee@...il.com>,
"festevam@...il.com" <festevam@...il.com>,
"nicoleotsuka@...il.com" <nicoleotsuka@...il.com>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>
Subject: RE: [PATCH 3/5] ASoC: imx-pcm-rpmsg: Register different platform
drivers
>
> 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@....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
Powered by blists - more mailing lists