Received: by 2002:a05:6358:701b:b0:131:369:b2a3 with SMTP id 27csp4124685rwo; Tue, 25 Jul 2023 00:35:16 -0700 (PDT) X-Google-Smtp-Source: APBJJlEsL2CdTwl3m/rzhotZQ/RUb9cvhelOm38o5N3OVjMINw8ty0vlhr+KVzgkBRIqGQ/xXwy9 X-Received: by 2002:a17:907:760d:b0:993:e752:1a6a with SMTP id jx13-20020a170907760d00b00993e7521a6amr12317732ejc.21.1690270516135; Tue, 25 Jul 2023 00:35:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690270516; cv=none; d=google.com; s=arc-20160816; b=j5jkSel1U+BnNTvfJwMb3Kr0eZe4Xugu9+PQNQYcVCDPc86hjmgMnzlcN663TQLSF7 uq+185qIhkIUjCl7cJXGrZ26BmLexAE6clxu/Kcq1h+pmZqAsoGifRLX8yWTrsykFesg JoTUMMCQYo2IrYVfYcGyCM5N4m6aGWZ/QYNdcIOXz1h1byrzo0qzrm0MB1R5oZ28+dpi pUKGU3KcMQ4cB2a98ZIE1Av4ILc2MxQQI9K1wVuhdrQkRzRKjitxN+E78rdb1U3LaPLW DpFP7paeW1WKIcUjrPojBk2aL2tgcMnNhc8G1RT1IHx3D6meojQ6dqJC8+W4NmgaWR2v w8cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :to:from; bh=9jP6vD9JyGgD67FibJEjgc0EFCEKOVJ5eTcYnTARV4c=; fh=cenhyE8QF/1S4DNSiISo8TX7BXBplJPKpDjrjL+zmAA=; b=qObAyuaew+Arn6cLbW/vH0sqcrLgJUZerXFCg27pyzgK6hH+sBeiKnn6W885ECzyRD lnRSP6sbkp1Rwdrg8c6iMHFlkb3CvCi7iCC9NuxYCB/WuDScJA9UyxNr2BSPjM7LIX5v NaabWXfYiaMwQNckSPp9zm39e9vaof3oTNyZymVaWe4WruqXzT3YaIx9kVs8ylJ3Vvzq SSNFqIhsYz7G8KwXF7R6oAwH+od2Hm563dRiCC6x62zKa7XkDtwRVxEJwyDkp1ZfXXP7 WabCIfjHCBwOTul0JwSRF57QbP2VAdIQzC+hLBXqKzltNhz1KfeXwhbImbbxiXS6FeQz N8FA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ox14-20020a170907100e00b009928b4e3b9csi8254364ejb.312.2023.07.25.00.34.52; Tue, 25 Jul 2023 00:35:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232288AbjGYGqf (ORCPT + 99 others); Tue, 25 Jul 2023 02:46:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232258AbjGYGq2 (ORCPT ); Tue, 25 Jul 2023 02:46:28 -0400 Received: from inva020.nxp.com (inva020.nxp.com [92.121.34.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 53FC11B3; Mon, 24 Jul 2023 23:46:27 -0700 (PDT) Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 966991A1629; Tue, 25 Jul 2023 08:46:25 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 5E4921A1618; Tue, 25 Jul 2023 08:46:25 +0200 (CEST) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 799B01802183; Tue, 25 Jul 2023 14:46:23 +0800 (+08) From: Shengjiu Wang To: hverkuil@xs4all.nl, sakari.ailus@iki.fi, tfiga@chromium.org, m.szyprowski@samsung.com, mchehab@kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, nicoleotsuka@gmail.com, lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz, tiwai@suse.com, alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org Subject: [RFC PATCH v2 6/7] ASoC: fsl_asrc: register m2m platform device Date: Tue, 25 Jul 2023 14:12:19 +0800 Message-Id: <1690265540-25999-7-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1690265540-25999-1-git-send-email-shengjiu.wang@nxp.com> References: <1690265540-25999-1-git-send-email-shengjiu.wang@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Register m2m platform device, that user can use M2M feature. Signed-off-by: Shengjiu Wang --- include/sound/fsl_asrc_common.h | 2 ++ sound/soc/fsl/fsl_asrc.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/include/sound/fsl_asrc_common.h b/include/sound/fsl_asrc_common.h index 191302711ea6..0f3effa42308 100644 --- a/include/sound/fsl_asrc_common.h +++ b/include/sound/fsl_asrc_common.h @@ -69,6 +69,7 @@ struct fsl_asrc_pair { * @dma_params_rx: DMA parameters for receive channel * @dma_params_tx: DMA parameters for transmit channel * @pdev: platform device pointer + * @m2m_pdev: m2m platform device pointer * @regmap: regmap handler * @paddr: physical address to the base address of registers * @mem_clk: clock source to access register @@ -102,6 +103,7 @@ struct fsl_asrc { struct snd_dmaengine_dai_dma_data dma_params_rx; struct snd_dmaengine_dai_dma_data dma_params_tx; struct platform_device *pdev; + struct platform_device *m2m_pdev; struct regmap *regmap; unsigned long paddr; struct clk *mem_clk; diff --git a/sound/soc/fsl/fsl_asrc.c b/sound/soc/fsl/fsl_asrc.c index 30190ccb74e7..0d1dfa30271e 100644 --- a/sound/soc/fsl/fsl_asrc.c +++ b/sound/soc/fsl/fsl_asrc.c @@ -1198,6 +1198,7 @@ static int fsl_asrc_runtime_suspend(struct device *dev); static int fsl_asrc_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; + struct fsl_asrc_m2m_pdata m2m_pdata; struct fsl_asrc_priv *asrc_priv; struct fsl_asrc *asrc; struct resource *res; @@ -1380,6 +1381,12 @@ static int fsl_asrc_probe(struct platform_device *pdev) goto err_pm_get_sync; } + m2m_pdata.asrc = asrc; + asrc->m2m_pdev = platform_device_register_data(&pdev->dev, + "fsl_asrc_m2m", + PLATFORM_DEVID_AUTO, + &m2m_pdata, + sizeof(m2m_pdata)); return 0; err_pm_get_sync: @@ -1392,6 +1399,11 @@ static int fsl_asrc_probe(struct platform_device *pdev) static void fsl_asrc_remove(struct platform_device *pdev) { + struct fsl_asrc *asrc = dev_get_drvdata(&pdev->dev); + + if (asrc->m2m_pdev && !IS_ERR(asrc->m2m_pdev)) + platform_device_unregister(asrc->m2m_pdev); + pm_runtime_disable(&pdev->dev); if (!pm_runtime_status_suspended(&pdev->dev)) fsl_asrc_runtime_suspend(&pdev->dev); -- 2.34.1