Message ID | 20220930064441.2548505-8-chancel.liu@nxp.com |
---|---|
State | Accepted |
Commit | 4b48440ea390bada41928920446928beb3652a76 |
Headers | show |
Series | Create a new sound card to access MICFIL based on rpmsg channel | expand |
On Fri, Sep 30, 2022 at 2:46 PM Chancel Liu <chancel.liu@nxp.com> wrote: > 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> Best regards Wang Shengjiu > --- > sound/soc/fsl/imx-rpmsg.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c > index 2e117311e582..57684064c9da 100644 > --- a/sound/soc/fsl/imx-rpmsg.c > +++ b/sound/soc/fsl/imx-rpmsg.c > @@ -36,6 +36,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; > > @@ -81,7 +82,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; > -- > 2.25.1 > >
diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c index 2e117311e582..57684064c9da 100644 --- a/sound/soc/fsl/imx-rpmsg.c +++ b/sound/soc/fsl/imx-rpmsg.c @@ -36,6 +36,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; @@ -81,7 +82,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;
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> --- sound/soc/fsl/imx-rpmsg.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)