[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240306075510.535963-5-chancel.liu@nxp.com>
Date: Wed, 6 Mar 2024 16:55:10 +0900
From: Chancel Liu <chancel.liu@....com>
To: shengjiu.wang@...il.com,
Xiubo.Lee@...il.com,
festevam@...il.com,
nicoleotsuka@...il.com,
lgirdwood@...il.com,
broonie@...nel.org,
perex@...ex.cz,
tiwai@...e.com,
shawnguo@...nel.org,
s.hauer@...gutronix.de,
kernel@...gutronix.de,
linux-imx@....com,
alsa-devel@...a-project.org,
linuxppc-dev@...ts.ozlabs.org,
linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Cc: Chancel Liu <chancel.liu@....com>
Subject: [PATCH 4/4] ASoC: fsl: imx-rpmsg: Update to correct DT node
Platform device for card to probe is registered in imx-audio-rpmsg.
According to this change DT node of ASoC CPU DAI device is updated.
Signed-off-by: Chancel Liu <chancel.liu@....com>
---
sound/soc/fsl/imx-rpmsg.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/imx-rpmsg.c b/sound/soc/fsl/imx-rpmsg.c
index e5bd63dab10c..2686125b3043 100644
--- a/sound/soc/fsl/imx-rpmsg.c
+++ b/sound/soc/fsl/imx-rpmsg.c
@@ -108,10 +108,9 @@ static int imx_rpmsg_late_probe(struct snd_soc_card *card)
static int imx_rpmsg_probe(struct platform_device *pdev)
{
struct snd_soc_dai_link_component *dlc;
- struct device *dev = pdev->dev.parent;
/* rpmsg_pdev is the platform device for the rpmsg node that probed us */
- struct platform_device *rpmsg_pdev = to_platform_device(dev);
- struct device_node *np = rpmsg_pdev->dev.of_node;
+ struct platform_device *rpmsg_pdev = NULL;
+ struct device_node *np = NULL;
struct of_phandle_args args;
const char *platform_name;
struct imx_rpmsg *data;
@@ -127,6 +126,22 @@ static int imx_rpmsg_probe(struct platform_device *pdev)
goto fail;
}
+ if (!strcmp(pdev->dev.platform_data, "rpmsg-micfil-channel"))
+ np = of_find_node_by_name(NULL, "rpmsg_micfil");
+ else
+ np = of_find_node_by_name(NULL, "rpmsg_audio");
+ if (!np) {
+ dev_err(&pdev->dev, "failed to parse node\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+ rpmsg_pdev = of_find_device_by_node(np);
+ if (!rpmsg_pdev) {
+ dev_err(&pdev->dev, "failed to parse platform device\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
ret = of_reserved_mem_device_init_by_idx(&pdev->dev, np, 0);
if (ret)
dev_warn(&pdev->dev, "no reserved DMA memory\n");
--
2.43.0
Powered by blists - more mailing lists