From patchwork Tue May 7 04:33:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13656219 Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2069.outbound.protection.outlook.com [40.107.113.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CE9B79CF for ; Tue, 7 May 2024 04:33:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.113.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715056431; cv=fail; b=o52eaet5+1JyQBlmTllRjarqCbKRc1vWA5HFFgr9VqO3HJEzQ1pD9O/8dADs8lJnxydAR+RHSyzkzgQiLyxB4zKGQbnLqrMPQzN/9R4Qbij1s3+CHL5GJaexGImhIKf6Hhn7nxbjoTj8shYa+or7U0V0H8ypcsL7Z2iWnBLezEM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715056431; c=relaxed/simple; bh=JaEfXBWlGHqdYwZ2dANrrSieJSCowt5IpkWOna4hHjI=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date:MIME-Version; b=cnrb9twuxxKEu3KwPGoxbTECbk3f7UEoQs556BAgr6i0gWM5vfMTSqegNR0alnl5iCcODADiFMXYEl4PD9BaRN/8RJdiofd0jCO+SBZ0/DgUqHf7MyzhpYEww8bNWpYwAu2G5CAWCRf6uI5sA1dqXGcORxG3afjjtZO/VjI0dUw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=XoCmDYd/; arc=fail smtp.client-ip=40.107.113.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="XoCmDYd/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QSce4s1IqoIXne3vtycCFIOSBol6bPCqk24AQkXYr+RiYXQtxokyzWfqHV6dPmOoTMcsP6n3S5Tcom+K0KpCd2YlgNgri9BoM+wwVHkteFtLMLz6cj73CyznlNdNjJM9NzhUSBGN4qxy0hfeTjDVqVx3kDrEuUUgWZ7ycnftZruOS66uVqVMqUedGyKmBhAy760GRy2jmFiaCUpdhJun5rBQC8QHYuKjzwtfHB4EV3zbEgoRuhgHxs3XCVhSECg0TzNZFfshaHPCco/Jmk5uajbirPRjquj0+KSwQfu3Egq62X3ngzTlHu3cyziuM3EzJiPrxt3uP6eppkiHzHf/9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sLaTQRJ6+dc0X4MaTimYuQOcrzydhxcK4moSLomERV0=; b=gd/RuwGBxdKkc1doDWgGbnL0DgaOjhPXyj17s8rXG816CX3UeJMBOrN5i7tvCzNLoKeTND5wQ+grdkmTTaiytysYpK53ize2icWWs2Ee3tY/0yb0cZUCMTPi628g/VtaxoMhivCWnwG/My+q8eQEjJQDGWaydmnFDg5tVRXsPCXukJ89GSe7COvyvF1FuzowmZFUcOFlhIU82HkjkkHpGn/iOzZrdUnd5xA+rOpvx87PfIza0FDpgnrdy44CFxorh+m9GLsByJl8LYZ+Dx6deZoSx2nSD6RLtsGU7bbTNnLfP2+ps9TUBq8adUg4V0GbLroferBWqJBur7iGvUKhsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sLaTQRJ6+dc0X4MaTimYuQOcrzydhxcK4moSLomERV0=; b=XoCmDYd/ozXIk82rcVsh4bpG+pWp9TcZX+Q7k7cTXTAuZH39pmkmHpPWIC1q/Cczx8ShIcIfrVa0bb9QA27tZSZCyKLdlOfvZieNFcI/n4s13YuDqLAcLxu9035GQGhJwzjG8fhEfZZx6sqyHLy8LgYsd6NF4YYBwRQNVsMJ8yQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by TYBPR01MB5421.jpnprd01.prod.outlook.com (2603:1096:404:802e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.41; Tue, 7 May 2024 04:33:45 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::2f40:537b:2694:7b76]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::2f40:537b:2694:7b76%7]) with mapi id 15.20.7544.041; Tue, 7 May 2024 04:33:45 +0000 Message-ID: <87seyudyvr.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 3/3] ASoC: remove snd_soc_dai_link_set_capabilities() User-Agent: Wanderlust/2.15.9 Emacs/27.1 Mule/6.0 To: =?iso-8859-2?q?=22Amadeusz_S=B3awi=F1ski=22?= , Alexandre Belloni , Alper Nebi Yasak , AngeloGioacchino Del Regno , Banajit Goswami , Bard Liao , Brent Lu , Cezary Rojewski , Charles Keepax , Claudiu Beznea , Cristian Ciocaltea , Daniel Baluta , Hans de Goede , Jaroslav Kysela , Jerome Brunet , Jiawei Wang , Jonathan Corbet , Kai Vehmanen , Kevin Hilman , Liam Girdwood , Mark Brown , Maso Huang , Matthias Brugger , Neil Armstrong , Nicolas Ferre , Peter Ujfalusi , Pierre-Louis Bossart , Ranjani Sridharan , Sascha Hauer , Shawn Guo , Shengjiu Wang , Srinivas Kandagatla , Sylwester Nawrocki , Takashi Iwai , Vinod Koul , Xiubo Li , alsa-devel@alsa-project.org, imx@lists.linux.dev, linux-sound@vger.kernel.org In-Reply-To: <87wmo6dyxg.wl-kuninori.morimoto.gx@renesas.com> References: <87wmo6dyxg.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 7 May 2024 04:33:45 +0000 X-ClientProxiedBy: TYCP286CA0165.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:383::11) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|TYBPR01MB5421:EE_ X-MS-Office365-Filtering-Correlation-Id: b052f01a-9e9d-48c8-85cc-08dc6e4ee1e3 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|376005|7416005|1800799015|52116005|38350700005|921011; X-Microsoft-Antispam-Message-Info: kz8Q6yIp8ZWpEfKsMymJy7YzzBspaR1TI7tBy5RT7qaRXoeGRRonIgJOXo0f5q7v3oKj2A+jikS2kfOZrrYFWwbqToe2utdl6ihZ5biKOHfURutXdGUW6KZLtVGpMRG/KXce0W5ZLaHQGjtoXGvLnDn7jGtXMgbSPg/pKX1wHxe69j5af0wwDIVO2nxSRuutovtEEFez5PsU+cEN06BZnP+9ShZvrh0GCCGIwjdnhHkc5p7hG09XClxSUCo2S/19zAE1L/1nz9xFaVshV5zEtHjvcwE17D4eHknjfeXcfHcICyNUE1WnvE7wMTtgtBw9yaxATUPNlnMOG+xpnSQ0lz2V7WHY0lhC90bi1lkmKIUUKU/h3nXMoV/b+myOpcFbT9mFluiVYYDSDvdweOeoqr7UXU+akHI5XrfqcjJ1RQlcdYIDivPOt6MBgtEbgwDvNAlpijRIEUSTEs+48OYaizY2K4N4uy/AX0XPf0Nfq3Hx7R/t1uN+Z268DwADrkhH2E4XxGhaEq9I+3c70aKtwY0rO48Eipkt5unbQlWm7WwQpbLd2aDl6QdhNSGhRM4Zv/YaVSdOOgRviygPUKSFNWa+LNYNihNLIWxjcWAbUwtR65S8qhA9jsQ7FnBt3XcrQC5hHK94H3B16sZsXAmflUbg2F4EaaxuJEFuJIA5IJyO8eQB1r91k9pC8QDzgoplnJ34sPGXQUo8nH4MG99tWbnEQDf8nBfNn+/a6h1Zrgb/GZy6Q0PJXQQrjLVBnW3IpAfK9hjtyPfzoJhYCalpCUCWXoF/nUcmPnIxuI9F0/xr5e8/KKCYTERIVpmYdPWW9x9C5UynW0qfy58SaXCmgYrEGLqZJGhb1HRITMkG7jF5V40QOaH9LiAYy5PvdzeqhK96+Y+TQUnbg4gHSTPpOFv/9bgkGKFtP1oRXd26FUoQDaOGkuhcvYuIFETTGW2JyfOu4nKOWqUkqGKrdshW6FGfOER9XduHHc4qG4ldlGTK+ejCn2djbnUUsv1mAsHtqvsxQZxJ3jXi8QKsnJT9BXhwvT9k/fyZIUQtjQoDvV7iA2QcyNuqtgVgdCM4z/iJUtzvdd0+Etbv2AhCuIW20n58VxNzlZByfwIMYhzgPjFgUdVXnIa2WqsmBUEXmhC0+zJjIlY3qMExG2n78wG7jUbtTfKjWD9yqU/J6G2AnH58DhEZodYHEK9nvyKyrdNP3FC1xd+g5fVVIIVsezp6acsHqX69RzzvZnwMBEoDFxsYh5CDZri2Wj6Rb4chSJ7ZNO1PLV9tq0vVGqYoQXJ68e8P5d4y2SkPWVt+3yakUZh+apM03c3ySGc14NRoYnSGrZ3GimbodS/OVzlTrmdTNVYm7xOAl3vFQJuJmVnwAEs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB10914.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(7416005)(1800799015)(52116005)(38350700005)(921011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: n3CwhEIWGEm2LLnYYIM2QF/R9JmQvPbCnRi76l1hdTzskesFaze5LzZz2CbzqE2xCWY2nxbYllscIufGkE5etcTOu1WcRnstJDZ0eKopPFUiZF5cpXIRS1Rq0+V8+a73envqOb5LTrf732ucJhEbvcw6tJsX6w3pyRbPeADgfMZDfMaRMqm3ywWa7WHK/2QQkeVOdEOAjvCSddjyM/bwBrRxKZqz2nfeE5QmRnM0N7jyI4LJCIThzJhJ6cwCupYmHaOnvcEev7UpuWX65hnZHwhDRaLc3vCDaVBvdhvaGYGF1fOUofxLKONg60QBydTfFv8JbeJLqcS/GWkJ7KHAjgUQ8Yq+cuHtK4hs6NZ3HWoUh74kkzSC16fJWyKENT3UYyMPWmpt8Ea+3jwi3Kr4cQuz3llVhwr10ckh3b0B22cd9YoQDChoefrj870LoWfB+Mm9KN9jWTTTyBuGKjT0Yp1dOyK99zKJyMT9rZBAzisr8i5TpO3cH9cK8prU+Bx+1Xg54zquvcLyqHyBt84Meddx+2Mic4pGfdngf1cqkMGdueTnNceQfVKWIfNeWsdplLTI3K6DxKJQx9qsCnxIUwP9/g25OMgeoJNktCfeLt1wGVQBrc+LlgapCbSImmcdIh+Sbt5juH3z+uGOFRx5KAiq1kqrCiqAsRmgdSlobjb+yY+ZG8peQDsFmOzmZkSfLvPwPsxXdDT/a+WkR+ksacHFytYabm3pHATcnUO7dQqOctBPUMn6vn0pE5sYCILIiH3dEQc67TUJLcWGJ3TLW2+fVYP8OuAbkIKWadSK2ZfxupMefY/fW3UelhJqGyaQX4bbX8Dgfs7CkuI31Zbam7ZljgikeAGyUpHqliUsEREb+sPyC2YfsDzVVkkxsq0cu+p/sC60NALdSqQLZEYiisf5FtbTFjFtx/bI0BUnFkk8fGiIea5X8O3VHa4mKoIt1GFAVGT2EwaCGXgmJ2TOaWf55Z1WfHn6tWgEQ4uX1UaK9OUUOGXqTNDudhXRPZlA3Wrp41S6sRoMx9ANqT/SNQ34TjSfJLEAvcqFDtUmrcAU/KdMBe8dliX1Tt542R16bek8qb/497GVM1hEqorfkFUgE7hRyWHFzDzOskoHX+fBh7+vQnFWPHgJaL1AlheAHiuwYg8fLAug/647dQpmwgzj1P57GODrp/1CAtCPaA440r22ZrvGljofSzN42Elr8hZBFHHFbC59xgCCEhboHAe96RaXcYXR0o4ytJb6bVnyvh9eVosLDO5eWlqUOA9bnrtHtveqLe2jMhgznEr+DVRRnjv8BcR5W9D3A02eMSKLXkopKu/lrGR2CrMNT3Q9kMs7Q40F/5MaVUFcZPuFj7utbONUZaq+SQf+81hooj/izZ9ONRy+BKAJoIV5GohcCxehHpbd1QEjeeyVFlC2eXrXBjUe5Du9Epte0voYdyUSn27QZNkUFKJpOh4oKjPLFMnEdoOh1gZySWYuUXDgbPOr16sxg+yFrZ0YRBcazTVKaLhco+B/YAZmXqDRZRVCrLadLpgxa+kOuU6JmOxWRYC/ML3Gkpmf/0jfc8trXuRVJ+cfTBVgYUfNt76cV06tOisH9TPrGU3rMeaT3uFSmCzm9eVSqadFii2VuLDG0b8= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: b052f01a-9e9d-48c8-85cc-08dc6e4ee1e3 X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2024 04:33:45.7135 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ECtsaOg5Qh9qmqkgRTG45kBwG8zpXWYZbnHDhBTGQk6uYYr9HjPaqLQW3kNVZv0sJ85P9+MaI6Q4N0Hvtq3bfkDeq5GdO/TrhIs7wAzP0UlLfaWYdasS0zKeG/Q72irp X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYBPR01MB5421 dpcm_xxx flags are no longer needed. We need to use xxx_only flags instead if needed, but snd_soc_dai_link_set_capabilities() user adds dpcm_xxx if playback/catpure were available. Thus converting dpcm_xxx to xxx_only is not needed. Just remove it. Signed-off-by: Kuninori Morimoto --- include/sound/soc-dai.h | 1 - sound/soc/fsl/imx-card.c | 3 --- sound/soc/generic/audio-graph-card.c | 2 -- sound/soc/generic/audio-graph-card2.c | 2 -- sound/soc/generic/simple-card.c | 2 -- sound/soc/meson/axg-card.c | 1 - sound/soc/meson/gx-card.c | 1 - sound/soc/qcom/common.c | 1 - sound/soc/soc-dai.c | 38 --------------------------- 9 files changed, 51 deletions(-) diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h index adcd8719d343..69ba1a628eab 100644 --- a/include/sound/soc-dai.h +++ b/include/sound/soc-dai.h @@ -219,7 +219,6 @@ void snd_soc_dai_resume(struct snd_soc_dai *dai); int snd_soc_dai_compress_new(struct snd_soc_dai *dai, struct snd_soc_pcm_runtime *rtd, int num); bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int stream); -void snd_soc_dai_link_set_capabilities(struct snd_soc_dai_link *dai_link); void snd_soc_dai_action(struct snd_soc_dai *dai, int stream, int action); static inline void snd_soc_dai_activate(struct snd_soc_dai *dai, diff --git a/sound/soc/fsl/imx-card.c b/sound/soc/fsl/imx-card.c index cb8723965f2f..9c7e24cebd7b 100644 --- a/sound/soc/fsl/imx-card.c +++ b/sound/soc/fsl/imx-card.c @@ -650,9 +650,6 @@ static int imx_card_parse_of(struct imx_card_data *data) link->ops = &imx_aif_ops; } - if (link->no_pcm || link->dynamic) - snd_soc_dai_link_set_capabilities(link); - /* Get dai fmt */ ret = simple_util_parse_daifmt(dev, np, codec, NULL, &link->dai_fmt); diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c index 83e3ba773fbd..714ce1f4a061 100644 --- a/sound/soc/generic/audio-graph-card.c +++ b/sound/soc/generic/audio-graph-card.c @@ -246,8 +246,6 @@ static int graph_dai_link_of_dpcm(struct simple_util_priv *priv, graph_parse_convert(dev, ep, &dai_props->adata); - snd_soc_dai_link_set_capabilities(dai_link); - ret = graph_link_init(priv, cpu_ep, codec_ep, li, dai_name); li->link++; diff --git a/sound/soc/generic/audio-graph-card2.c b/sound/soc/generic/audio-graph-card2.c index 62606e20be9a..0d2ac4c9ba3d 100644 --- a/sound/soc/generic/audio-graph-card2.c +++ b/sound/soc/generic/audio-graph-card2.c @@ -925,8 +925,6 @@ int audio_graph2_link_dpcm(struct simple_util_priv *priv, graph_parse_convert(ep, dai_props); /* at node of */ graph_parse_convert(rep, dai_props); /* at node of */ - snd_soc_dai_link_set_capabilities(dai_link); - graph_link_init(priv, rport, li, is_cpu); err: of_node_put(ep); diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index 9c79ff6a568f..5e66812ffadf 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -276,8 +276,6 @@ static int simple_dai_link_of_dpcm(struct simple_util_priv *priv, simple_parse_convert(dev, np, &dai_props->adata); - snd_soc_dai_link_set_capabilities(dai_link); - ret = simple_link_init(priv, node, codec, li, prefix, dai_name); out_put_node: diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c index 8c5605c1e34e..09aa36e94c85 100644 --- a/sound/soc/meson/axg-card.c +++ b/sound/soc/meson/axg-card.c @@ -339,7 +339,6 @@ static int axg_card_add_link(struct snd_soc_card *card, struct device_node *np, dai_link->num_c2c_params = 1; } else { dai_link->no_pcm = 1; - snd_soc_dai_link_set_capabilities(dai_link); if (axg_card_cpu_is_tdm_iface(dai_link->cpus->of_node)) ret = axg_card_parse_tdm(card, np, index); } diff --git a/sound/soc/meson/gx-card.c b/sound/soc/meson/gx-card.c index f1539e542638..7edca3e49c8f 100644 --- a/sound/soc/meson/gx-card.c +++ b/sound/soc/meson/gx-card.c @@ -107,7 +107,6 @@ static int gx_card_add_link(struct snd_soc_card *card, struct device_node *np, dai_link->num_c2c_params = 1; } else { dai_link->no_pcm = 1; - snd_soc_dai_link_set_capabilities(dai_link); /* Check if the cpu is the i2s encoder and parse i2s data */ if (gx_card_cpu_identify(dai_link->cpus, "I2S Encoder")) ret = gx_card_parse_i2s(card, np, index); diff --git a/sound/soc/qcom/common.c b/sound/soc/qcom/common.c index 747041fa7866..24862002e82b 100644 --- a/sound/soc/qcom/common.c +++ b/sound/soc/qcom/common.c @@ -145,7 +145,6 @@ int qcom_snd_parse_of(struct snd_soc_card *card) if (platform || !codec) { /* DPCM */ - snd_soc_dai_link_set_capabilities(link); link->ignore_suspend = 1; link->nonatomic = 1; } diff --git a/sound/soc/soc-dai.c b/sound/soc/soc-dai.c index fefe394dce72..f8e46bec6f80 100644 --- a/sound/soc/soc-dai.c +++ b/sound/soc/soc-dai.c @@ -479,44 +479,6 @@ bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int dir) return stream->channels_min; } -/* - * snd_soc_dai_link_set_capabilities() - set dai_link properties based on its DAIs - */ -void snd_soc_dai_link_set_capabilities(struct snd_soc_dai_link *dai_link) -{ - bool supported[SNDRV_PCM_STREAM_LAST + 1]; - int direction; - - for_each_pcm_streams(direction) { - struct snd_soc_dai_link_component *cpu; - struct snd_soc_dai_link_component *codec; - struct snd_soc_dai *dai; - bool supported_cpu = false; - bool supported_codec = false; - int i; - - for_each_link_cpus(dai_link, i, cpu) { - dai = snd_soc_find_dai_with_mutex(cpu); - if (dai && snd_soc_dai_stream_valid(dai, direction)) { - supported_cpu = true; - break; - } - } - for_each_link_codecs(dai_link, i, codec) { - dai = snd_soc_find_dai_with_mutex(codec); - if (dai && snd_soc_dai_stream_valid(dai, direction)) { - supported_codec = true; - break; - } - } - supported[direction] = supported_cpu && supported_codec; - } - - dai_link->dpcm_playback = supported[SNDRV_PCM_STREAM_PLAYBACK]; - dai_link->dpcm_capture = supported[SNDRV_PCM_STREAM_CAPTURE]; -} -EXPORT_SYMBOL_GPL(snd_soc_dai_link_set_capabilities); - void snd_soc_dai_action(struct snd_soc_dai *dai, int stream, int action) {