From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7A1AC7EE23 for ; Mon, 12 Jun 2023 03:15:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234368AbjFLDP2 (ORCPT ); Sun, 11 Jun 2023 23:15:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234573AbjFLDPA (ORCPT ); Sun, 11 Jun 2023 23:15:00 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8587210D1 for ; Sun, 11 Jun 2023 20:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539687; x=1718075687; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RcAGWFoO9nSBfI/X1vef7WgnMxUZjubEZI94Z23Z+44=; b=KkoQWcrhpPgTpKiDPjjlnWbf955XRkK9m+dkn3yyAYlNBQ1TVKEc3IJy 7eGUdj7r1a/tgzNVwRw3zgTurqHO7vVRrTz5uL56TQzv3MuX+z7qEHFyS dT/lMoh8ZmoC1OPt4P6CVdRcV7jnchhh3ME8MIN1IPMrg3znnmBEZbIcm iNk8zp704zPsHk7vgVrC0ZckPhXA8gWZ5Qflw7kPOoSgKiTtrrpYW+67a /BwCEhTzHAmOVJsmLisNCqxHkF57YKR6UJ3nPWp1CbpRPju92dPkgI+2i fSFGswoolV5xwzzm+syumUhgPOr+PwaGzCpRqAc0AhszZR8Qwnh+NiJZk g==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578886" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578886" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:14:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191875" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191875" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:44 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 01/12] ASoC: Intel: avs-da7219: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:47 +0800 Message-Id: <20230612110958.592674-2-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "Playback<-sspX Tx" and "sspX Rx<-Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/da7219.c | 45 ++--------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/da7219.c b/sound/soc/intel/avs/boar= ds/da7219.c index 1a1d572cc1d0..964a763732ab 100644 --- a/sound/soc/intel/avs/boards/da7219.c +++ b/sound/soc/intel/avs/boards/da7219.c @@ -181,38 +181,6 @@ static int avs_create_dai_link(struct device *dev, con= st char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "Capture"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_card_suspend_pre(struct snd_soc_card *card) { struct snd_soc_dai *codec_dai =3D snd_soc_card_get_codec_dai(card, DA7219= _DAI_NAME); @@ -230,14 +198,13 @@ static int avs_card_resume_post(struct snd_soc_card *= card) =20 static int avs_da7219_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct snd_soc_jack *jack; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -249,12 +216,6 @@ static int avs_da7219_probe(struct platform_device *pd= ev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - jack =3D devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!jack || !card) @@ -271,8 +232,8 @@ static int avs_da7219_probe(struct platform_device *pde= v) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; snd_soc_card_set_drvdata(card, jack); =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98D55C7EE23 for ; Mon, 12 Jun 2023 03:15:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234488AbjFLDPo (ORCPT ); Sun, 11 Jun 2023 23:15:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234593AbjFLDPA (ORCPT ); Sun, 11 Jun 2023 23:15:00 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 00502E77 for ; Sun, 11 Jun 2023 20:14:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539690; x=1718075690; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=n4WljQzl2VdpQPd3iTWOpWki7dTWlXg8XREKcKcC5Fk=; b=VhM5jSVwHyGGvU/BuoooMXq8qddrksl0178UsSlV6T22a2gVmrqET66R EK3jyXBksQRqIml/sUzbLFHsYOM+qlo6BkVVW8jS+1cOm2i9Qr8sbOzQr 12JuTY4IbeRi9WvOAG8Cewx/1YuraU3ZIzwZ2ovRAevbjvwx64hTZEBhD pvhli5d6/mNBISgNhW4Yndu4KjtsE0clGECy20g5N7xWu8KjYzQijNQJL 9/dkZ90n8p2WxD8AHI8BUhDycvI4Bfj4iZmJ0QASV7935DMXekLHAY2Og 619hf7EOqf658zSQ+iFzSigNUFlYKB5g6avBi7xYuFCJHIqpLB6K+QAfw A==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578899" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578899" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:14:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191885" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191885" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:47 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 02/12] ASoC: Intel: avs-dmic: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:48 +0800 Message-Id: <20230612110958.592674-3-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "DMIC Rx<-Capture" and "DMIC WoV Rx<-Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/dmic.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sound/soc/intel/avs/boards/dmic.c b/sound/soc/intel/avs/boards= /dmic.c index 90a921638572..c270646faf86 100644 --- a/sound/soc/intel/avs/boards/dmic.c +++ b/sound/soc/intel/avs/boards/dmic.c @@ -44,8 +44,6 @@ static const struct snd_soc_dapm_widget card_widgets[] = =3D { =20 static const struct snd_soc_dapm_route card_routes[] =3D { {"DMic", NULL, "SoC DMIC"}, - {"DMIC Rx", NULL, "Capture"}, - {"DMIC WoV Rx", NULL, "Capture"}, }; =20 static int avs_dmic_probe(struct platform_device *pdev) --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59473C7EE23 for ; Mon, 12 Jun 2023 03:16:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234590AbjFLDQO (ORCPT ); Sun, 11 Jun 2023 23:16:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234599AbjFLDPA (ORCPT ); Sun, 11 Jun 2023 23:15:00 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7E65BE7D for ; Sun, 11 Jun 2023 20:14:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539692; x=1718075692; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5ZigPkJDIXift16/nF0BqzBHx5umgdG3eHZSsE529p8=; b=U4pHsz0e7FT1qttT7uHcH+HFGMUKv64iBKXij54K6S/jFlRNPALMRSHx yJJdlK7rxOqqh63FZPVQrS5vkz+U76xTXcDZvf5eskBFbfL/XEm/KVcXL hJElEEYSBuHMKE/WTxc3u/7m1FPtaBcwUDlf9osd5fW3wj/MGqGdudWNN GjS4P2uK+MxGezAzvhvW2+6nD3xKIysNYoslhHbjv08lLPG7uK7VKwjLa VesbD80wikT2QDPG5V0cbLDYJ661RTZIciGlYbAqEiWJ6QCKcIMiIO8p4 mOVU4o3ZfFIoklLMaUczNUp+j3IY/4cFqkv8f1syepnSg0Yh1sS7wi0M7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578920" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578920" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:14:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191901" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191901" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:49 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 03/12] ASoC: Intel: avs-hdaudio: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:49 +0800 Message-Id: <20230612110958.592674-4-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Three routes "HDMI 0 Playback<-hdaudioB0D2-cpu0 Tx", "HDMI 1 Playback<-hdaudioB0D2-cpu1 Tx" and "HDMI 2 Playback<-hdaudioB0D2-cpu2 Tx" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/hdaudio.c | 65 +--------------------------- 1 file changed, 1 insertion(+), 64 deletions(-) diff --git a/sound/soc/intel/avs/boards/hdaudio.c b/sound/soc/intel/avs/boa= rds/hdaudio.c index a542a67e21d0..cb00bc86ac94 100644 --- a/sound/soc/intel/avs/boards/hdaudio.c +++ b/sound/soc/intel/avs/boards/hdaudio.c @@ -64,56 +64,6 @@ static int avs_create_dai_links(struct device *dev, stru= ct hda_codec *codec, int return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, struct hda_codec *co= dec, int pcm_count, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - struct hda_pcm *pcm; - const char *cname =3D dev_name(&codec->core.dev); - int i, n =3D 0; - - /* at max twice the number of pcms */ - dr =3D devm_kcalloc(dev, pcm_count * 2, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - pcm =3D list_first_entry(&codec->pcm_list_head, struct hda_pcm, list); - - for (i =3D 0; i < pcm_count; i++, pcm =3D list_next_entry(pcm, list)) { - struct hda_pcm_stream *stream; - int dir; - - dir =3D SNDRV_PCM_STREAM_PLAYBACK; - stream =3D &pcm->stream[dir]; - if (!stream->substreams) - goto capture_routes; - - dr[n].sink =3D devm_kasprintf(dev, GFP_KERNEL, "%s %s", pcm->name, - snd_pcm_direction_name(dir)); - dr[n].source =3D devm_kasprintf(dev, GFP_KERNEL, "%s-cpu%d Tx", cname, i= ); - if (!dr[n].sink || !dr[n].source) - return -ENOMEM; - n++; - -capture_routes: - dir =3D SNDRV_PCM_STREAM_CAPTURE; - stream =3D &pcm->stream[dir]; - if (!stream->substreams) - continue; - - dr[n].sink =3D devm_kasprintf(dev, GFP_KERNEL, "%s-cpu%d Rx", cname, i); - dr[n].source =3D devm_kasprintf(dev, GFP_KERNEL, "%s %s", pcm->name, - snd_pcm_direction_name(dir)); - if (!dr[n].sink || !dr[n].source) - return -ENOMEM; - n++; - } - - *routes =3D dr; - *num_routes =3D n; - return 0; -} - /* Should be aligned with SectionPCM's name from topology */ #define FEDAI_NAME_PREFIX "HDMI" =20 @@ -172,13 +122,12 @@ static int avs_card_late_probe(struct snd_soc_card *c= ard) =20 static int avs_probing_link_init(struct snd_soc_pcm_runtime *rtm) { - struct snd_soc_dapm_route *routes; struct snd_soc_acpi_mach *mach; struct snd_soc_dai_link *links =3D NULL; struct snd_soc_card *card =3D rtm->card; struct hda_codec *codec; struct hda_pcm *pcm; - int ret, n, pcm_count =3D 0; + int ret, pcm_count =3D 0; =20 mach =3D dev_get_platdata(card->dev); codec =3D mach->pdata; @@ -200,18 +149,6 @@ static int avs_probing_link_init(struct snd_soc_pcm_ru= ntime *rtm) return ret; } =20 - ret =3D avs_create_dapm_routes(card->dev, codec, pcm_count, &routes, &n); - if (ret < 0) { - dev_err(card->dev, "create routes failed: %d\n", ret); - return ret; - } - - ret =3D snd_soc_dapm_add_routes(&card->dapm, routes, n); - if (ret < 0) { - dev_err(card->dev, "add routes failed: %d\n", ret); - return ret; - } - return 0; } =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15B0BC7EE23 for ; Mon, 12 Jun 2023 03:16:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234503AbjFLDQJ (ORCPT ); Sun, 11 Jun 2023 23:16:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234634AbjFLDPB (ORCPT ); Sun, 11 Jun 2023 23:15:01 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08B61E6F for ; Sun, 11 Jun 2023 20:14:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539695; x=1718075695; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xwsgpdxaqinXUt42/9XufyLi9iO/nioCRY94pZmKTgQ=; b=kt0UCZ8Q6F5ewScDRe0DNbEle0E+u4AqNzFAUGGDp2pIMaIibXyplPNI J9elWTx2tP8QQZjvcsiV9/V9lIgmxscKK+R2UtvKUs5TNIgpbasf3M+XS idoHOrtlJi2aBm1fIQEYO1RY2Kv2QWT6YRK3ubgWPzKbchdNqMFWLTVFr tXnQAhIiSLGwag/AYQNfxzJA4nB5hmJM1FnfLYJS+Yq7lS3HmAmrQQdq1 si3/2dsiRWZc0eQek0IUttfBoEtmFLkHLG0QaVLuTvHHG9Rlq6bS/C7AE /4tC1Gx7yul6nyQqM7rTlW8GPJ/fweu5+M/6u4yfy9nDGASwEUjUyLzzV Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578933" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578933" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:14:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191918" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191918" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:52 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 04/12] ASoC: Intel: avs-max98357a: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:50 +0800 Message-Id: <20230612110958.592674-5-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The route "HiFi Playback<-sspX Tx" is created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/max98357a.c | 39 ++------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/sound/soc/intel/avs/boards/max98357a.c b/sound/soc/intel/avs/b= oards/max98357a.c index 183123d08c5a..b9b20562c691 100644 --- a/sound/soc/intel/avs/boards/max98357a.c +++ b/sound/soc/intel/avs/boards/max98357a.c @@ -86,41 +86,14 @@ static int avs_create_dai_link(struct device *dev, cons= t char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 1; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "HiFi Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_max98357a_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -132,12 +105,6 @@ static int avs_max98357a_probe(struct platform_device = *pdev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!card) return -ENOMEM; @@ -151,8 +118,8 @@ static int avs_max98357a_probe(struct platform_device *= pdev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; =20 ret =3D snd_soc_fixup_dai_links_platform_name(card, pname); --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62135C7EE23 for ; Mon, 12 Jun 2023 03:15:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233725AbjFLDPs (ORCPT ); Sun, 11 Jun 2023 23:15:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234651AbjFLDPB (ORCPT ); Sun, 11 Jun 2023 23:15:01 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C50B10E0 for ; Sun, 11 Jun 2023 20:14:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539697; x=1718075697; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=oLPs9XeZPB29Gk2q8nALmTV059usJ3RGv1ZaTgGsjRQ=; b=OrPsiMuaCf5CZRG7pzWF0axa+9lMJEa/9SY28FwMiwQ5sgD92NlorY1g TKv5NvjZqA56j8X6UYn4SeNVctpTn5Q3NNY+hZuJi07GOWcpjEiSHt3mv SfEYmPcG3OW1kpw2tbw7FAlBz6xfg4isSsTztC+uSRRO2appcI/OcFRlx s53yND/VFtXfN3kJiw+iev9XBxRfGRmZDLh/cmHHjlXT/G2P4Yy8jacTL Brt6EwDp1D4L5PY0RAzZn30o2Q31RqVRwlDZfBrJs2IYV32Jx/z5iuyA6 hG+ZJoAoG1eIuBE+83o5dFb+AIiVlTm79Cl2gH4jPHChwMeSk5R4Zr+Fj w==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578950" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578950" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:14:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191923" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191923" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:54 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 05/12] ASoC: Intel: avs-max98373: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:51 +0800 Message-Id: <20230612110958.592674-6-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "Left HiFi Playback<-sspX Tx" and "Right HiFi Playback<-sspX Tx" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/max98373.c | 45 ++------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/max98373.c b/sound/soc/intel/avs/bo= ards/max98373.c index 8e221ecd34b0..3833251ade26 100644 --- a/sound/soc/intel/avs/boards/max98373.c +++ b/sound/soc/intel/avs/boards/max98373.c @@ -141,47 +141,14 @@ static int avs_create_dai_link(struct device *dev, co= nst char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Left HiFi Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Right HiFi Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_max98373_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -193,12 +160,6 @@ static int avs_max98373_probe(struct platform_device *= pdev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!card) return -ENOMEM; @@ -214,8 +175,8 @@ static int avs_max98373_probe(struct platform_device *p= dev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; =20 ret =3D snd_soc_fixup_dai_links_platform_name(card, pname); --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3560DC7EE23 for ; Mon, 12 Jun 2023 03:15:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233395AbjFLDPh (ORCPT ); Sun, 11 Jun 2023 23:15:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234688AbjFLDPD (ORCPT ); Sun, 11 Jun 2023 23:15:03 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2DE0CE63 for ; Sun, 11 Jun 2023 20:15:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539700; x=1718075700; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=POMQMoF5yCzfeN4V70o3A5GGX/JVr+bQ1FqtXyqQk74=; b=IO1ArgO/ACBVfo/rfvbuCuvz3nTnisVfM/Htag6MG6xmBxjq+g+Zjuse TRdQ9utxk9lt4u5/JvDs7EtBhlZYyQaOUE7XV1zHdAjHotFykzHhHtv41 1wYoGp/FHKlWhW4ddMwIcZ3woZg9LfBIk8oD0RFVrxu+IomYuKMWgtDOP R6/vDFYMrmu1+DCD+vxeBb7X9Mz+WPcsB1FKqDLI7W4iuwDNH2/a0nYw/ RMVjrLCJ58x+BZ6xJEudPstYrjON6rY0atDSdLulSw/JFV2RzUENtVm8B +p7/Ou5JK8kIFJWbT1eEavb/zgBL+k8YbNqVtlgJv/GJ/7JE2ltYsttj5 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578967" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578967" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:14:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191928" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191928" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:57 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 06/12] ASoC: Intel: avs-max98927: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:52 +0800 Message-Id: <20230612110958.592674-7-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "Left HiFi Playback<-sspX Tx" and "Right HiFi Playback<-sspX Tx" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/max98927.c | 45 ++------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/max98927.c b/sound/soc/intel/avs/bo= ards/max98927.c index 7cccce99f92e..09b231bf4e6d 100644 --- a/sound/soc/intel/avs/boards/max98927.c +++ b/sound/soc/intel/avs/boards/max98927.c @@ -138,47 +138,14 @@ static int avs_create_dai_link(struct device *dev, co= nst char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Left HiFi Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Right HiFi Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_max98927_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -190,12 +157,6 @@ static int avs_max98927_probe(struct platform_device *= pdev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!card) return -ENOMEM; @@ -211,8 +172,8 @@ static int avs_max98927_probe(struct platform_device *p= dev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; =20 ret =3D snd_soc_fixup_dai_links_platform_name(card, pname); --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0DA58C77B7A for ; Mon, 12 Jun 2023 03:16:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233165AbjFLDQA (ORCPT ); Sun, 11 Jun 2023 23:16:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234707AbjFLDPD (ORCPT ); Sun, 11 Jun 2023 23:15:03 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE9A1BB for ; Sun, 11 Jun 2023 20:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539702; x=1718075702; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=J5+q5OqTn3NUhd2KAcv2OeDPqTsFvVodE6kntNgJTpc=; b=ntNbQk752H1oYZNn/KQPfpVzLHgLHBulSliFcWb5+R8n98th3qJyI8H3 0NTWWqeA6Q4rL45jwm/ouYKmO7BqtIGT+WOMVE0sdRMm4NxSUALAMRZLT IhdzKtzJGGeeembz+3Zqj1Jq3gLvnty53HjR/fCkkZRR5z8DUhCTZZJKg BmOi3QA5OcTYgLX6jhEhlPtIYuKW3zvniUH7BLHW8F/NBIwvN3iMWVHWh iBY5sa0v81d8VfXbkoGsVMS1TiABbO55A7epBLDtkRH5yHRFHdGEDTUUQ z5j1ZWWUTFwtabnjUji63bT/qf77ZmIEThMc16B4Wh7YqsH2t6Veky5qb A==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578983" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578983" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:15:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191950" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191950" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:14:59 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 07/12] ASoC: Intel: avs-nau8825: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:53 +0800 Message-Id: <20230612110958.592674-8-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "Playback<-sspX Tx" and "sspX Rx<-Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/nau8825.c | 45 ++-------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/nau8825.c b/sound/soc/intel/avs/boa= rds/nau8825.c index b69fc5567135..38c5087d98e9 100644 --- a/sound/soc/intel/avs/boards/nau8825.c +++ b/sound/soc/intel/avs/boards/nau8825.c @@ -215,38 +215,6 @@ static int avs_create_dai_link(struct device *dev, con= st char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "Capture"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_card_suspend_pre(struct snd_soc_card *card) { struct snd_soc_dai *codec_dai =3D snd_soc_card_get_codec_dai(card, SKL_NU= VOTON_CODEC_DAI); @@ -274,14 +242,13 @@ static int avs_card_resume_post(struct snd_soc_card *= card) =20 static int avs_nau8825_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct snd_soc_jack *jack; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -293,12 +260,6 @@ static int avs_nau8825_probe(struct platform_device *p= dev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - jack =3D devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!jack || !card) @@ -315,8 +276,8 @@ static int avs_nau8825_probe(struct platform_device *pd= ev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; snd_soc_card_set_drvdata(card, jack); =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28897C7EE2E for ; Mon, 12 Jun 2023 03:16:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229897AbjFLDQT (ORCPT ); Sun, 11 Jun 2023 23:16:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234746AbjFLDPH (ORCPT ); Sun, 11 Jun 2023 23:15:07 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 771A013D for ; Sun, 11 Jun 2023 20:15:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539705; x=1718075705; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lGVwchl47pkFi5mkMWFQzQSuj4/1bP7rLxRqkLFCwWA=; b=RvlUx/mJYXMBRwn6XZP8hFYKhMvtx++0ZVvG5qSR02cOIDeIdrimpeuA Fm9klg9vJTyZacqkrN9ThofR32uLqHynkjfQPKK5N+xb0NL96exEJnWXQ 08BMpkCdxXAl6J+LhTWErRD65YBUI9IA/75IMHo8qwoIJZp1sK/UrmvgP nUzMtN53CyjSduhnVLZRd13kCT37uHUyLIi7PvmgRoIxhjaqJfqdULXmr jlXIbPkVBFXpNC1AZrxBtybVwlLst53lW3TuEn1YJbirF9XbdGVBvtgJJ TRtHXpz+glb1Cs8HYFdniwC9Z5VrdX6RIjyoyOVFLMnQ0KkyYukDHcDsu w==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347578995" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347578995" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:15:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191967" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191967" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:15:02 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 08/12] ASoC: Intel: avs-rt274: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:54 +0800 Message-Id: <20230612110958.592674-9-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "AIF1 Playback<-sspX Tx" and "sspX Rx<-AIF1 Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/rt274.c | 45 ++---------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/rt274.c b/sound/soc/intel/avs/board= s/rt274.c index 6a1e121f082f..ebfee54814ce 100644 --- a/sound/soc/intel/avs/boards/rt274.c +++ b/sound/soc/intel/avs/boards/rt274.c @@ -188,38 +188,6 @@ static int avs_create_dai_link(struct device *dev, con= st char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Capture"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_card_suspend_pre(struct snd_soc_card *card) { struct snd_soc_dai *codec_dai =3D snd_soc_card_get_codec_dai(card, RT274_= CODEC_DAI); @@ -237,14 +205,13 @@ static int avs_card_resume_post(struct snd_soc_card *= card) =20 static int avs_rt274_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct snd_soc_jack *jack; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -256,12 +223,6 @@ static int avs_rt274_probe(struct platform_device *pde= v) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - jack =3D devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!jack || !card) @@ -278,8 +239,8 @@ static int avs_rt274_probe(struct platform_device *pdev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; snd_soc_card_set_drvdata(card, jack); =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C6BDC7EE23 for ; Mon, 12 Jun 2023 03:16:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234704AbjFLDQZ (ORCPT ); Sun, 11 Jun 2023 23:16:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49774 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232657AbjFLDP0 (ORCPT ); Sun, 11 Jun 2023 23:15:26 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3CF7C4 for ; Sun, 11 Jun 2023 20:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539725; x=1718075725; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=RCNPw6SM+wE+oSvjCiunxs3XvlCVgcnR3aZfWQpux90=; b=WMcdjf3z5z4IOVmuvreMMohWWNnpyRBoRZDfw9I5/69A4AQw+PNWpmeb WlBEYOs+oXP9KxH8WdVY1pmwWyLHCUJaguczdxhKVHpWVek6wK/0Anezm PUeDsQIRe/CoOXp/MAtpCJ+TftnsfeqskrbyM13LfzzTY/CIvuAHvWnQZ Ikf86Kdw11Z3N00zqAtORzU32HP6jkY84ovX8zE0ZCSpTJX4XNq5XJwkf n/RmR5tUyoWZhbyXgHjxM8D9xSbmFowLUmMN49LMD3XMcmbOX74ly+dPF 1RF4vIm+KLFkmb6ULka9S6xmVwYjKjOXRFTEie4+rhmZAdwoj78gp0/VP A==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347579012" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347579012" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:15:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191975" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191975" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:15:05 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 09/12] ASoC: Intel: avs-rt286: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:55 +0800 Message-Id: <20230612110958.592674-10-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "AIF1 Playback<-sspX Tx" and "sspX Rx<-AIF1 Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/rt286.c | 45 ++---------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/rt286.c b/sound/soc/intel/avs/board= s/rt286.c index 3551a05bd599..84cf9a0c8dfe 100644 --- a/sound/soc/intel/avs/boards/rt286.c +++ b/sound/soc/intel/avs/boards/rt286.c @@ -158,38 +158,6 @@ static int avs_create_dai_link(struct device *dev, con= st char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Capture"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_card_suspend_pre(struct snd_soc_card *card) { struct snd_soc_dai *codec_dai =3D snd_soc_card_get_codec_dai(card, RT286_= CODEC_DAI); @@ -207,14 +175,13 @@ static int avs_card_resume_post(struct snd_soc_card *= card) =20 static int avs_rt286_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct snd_soc_jack *jack; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -226,12 +193,6 @@ static int avs_rt286_probe(struct platform_device *pde= v) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - jack =3D devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!jack || !card) @@ -248,8 +209,8 @@ static int avs_rt286_probe(struct platform_device *pdev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; snd_soc_card_set_drvdata(card, jack); =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 608F3C7EE23 for ; Mon, 12 Jun 2023 03:16:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233104AbjFLDQa (ORCPT ); Sun, 11 Jun 2023 23:16:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234212AbjFLDP2 (ORCPT ); Sun, 11 Jun 2023 23:15:28 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 179A510D for ; Sun, 11 Jun 2023 20:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539727; x=1718075727; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6YiX0yvmiKQf+uAku9yo5ddxL+NRFfsXBZ33VFKIHJM=; b=X7QiO7K9BnxW8kGi+GHAL53LJ2cDbPhxDaCMPIjuRxVtFFUMIHobAaER lqID59dWFTUHn7ttHUAW8ykqXYx1NHb7avtvSyPiumoPQImiuZjP++s// fJE1fKlHOXhpYGens8m6XLmQCju/EBYeV3AKnFKEcD5EqhtG+J5pw/QiI OB/ZI0ETkimj7iJJ6liWo/0eaTNYZIbYOzmsairKAqBiHG5vkI8xpXCYB P+GhQSCzAGRX257Rq9QGBpktZOz/+Kp4CeP3FdaQAGjdvKqFwvQqnWEr6 H4+CXL8FBK1EjV07Qik4LOkqxVbC+zNNqs4hTYI1oEiCHzlLTN67SBRgU A==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347579024" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347579024" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:15:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191988" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191988" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:15:07 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 10/12] ASoC: Intel: avs-rt298: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:56 +0800 Message-Id: <20230612110958.592674-11-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "AIF1 Playback<-sspX Tx" and "sspX Rx<-AIF1 Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/rt298.c | 45 ++---------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/rt298.c b/sound/soc/intel/avs/board= s/rt298.c index 2923f3805bbe..3b0e2b1a3251 100644 --- a/sound/soc/intel/avs/boards/rt298.c +++ b/sound/soc/intel/avs/boards/rt298.c @@ -178,38 +178,6 @@ static int avs_create_dai_link(struct device *dev, con= st char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Capture"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_card_suspend_pre(struct snd_soc_card *card) { struct snd_soc_dai *codec_dai =3D snd_soc_card_get_codec_dai(card, RT298_= CODEC_DAI); @@ -227,14 +195,13 @@ static int avs_card_resume_post(struct snd_soc_card *= card) =20 static int avs_rt298_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct snd_soc_jack *jack; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -246,12 +213,6 @@ static int avs_rt298_probe(struct platform_device *pde= v) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - jack =3D devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!jack || !card) @@ -268,8 +229,8 @@ static int avs_rt298_probe(struct platform_device *pdev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; snd_soc_card_set_drvdata(card, jack); =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95CE9C77B7A for ; Mon, 12 Jun 2023 03:16:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232972AbjFLDQg (ORCPT ); Sun, 11 Jun 2023 23:16:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234339AbjFLDP2 (ORCPT ); Sun, 11 Jun 2023 23:15:28 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B019BB for ; Sun, 11 Jun 2023 20:15:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539727; x=1718075727; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=S0S7wq1pknM5ia0eidCg38PVrAMtNRnOsHs8GfwgFAs=; b=XoIqRivdEtTXFkUci4yEKd8sDGBlXRSXgV4rUHb+st9h+jn7La/3C6QR F0DaeTgnkRKnT0CEDYlEHT/UAaK5jlcagYq6hEkwKYMOd4Qoy1yiD8hWk 4u7gVmqOF6p7EKYBO4mcKl0nFeNiRvrzaRfDUgaJ+v18A8bUYqsEPVRR3 WFLVplS9Hnka0Qor5f6EYBkP6U9NZ8zIJwxg9Pyw1D2biRktZHkjiez99 EL6aTxM5R8mqeduVvMifnkWDuM0f9UFBdmHTlAApHC4xfnp9OHU1G/5Xu mGUJXHqT9q3CkW+I0QBE1y/7bNXv6xCSFNjABXb9KOcXQqiWdnFY3NcIg w==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347579038" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347579038" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:15:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776191995" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776191995" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:15:10 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 11/12] ASoC: Intel: avs-rt5682: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:57 +0800 Message-Id: <20230612110958.592674-12-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Two routes "AIF1 Playback<-sspX Tx" and "sspX Rx<-AIF1 Capture" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/rt5682.c | 45 ++--------------------------- 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/sound/soc/intel/avs/boards/rt5682.c b/sound/soc/intel/avs/boar= ds/rt5682.c index b2c2ba93dcb5..7142a67900bf 100644 --- a/sound/soc/intel/avs/boards/rt5682.c +++ b/sound/soc/intel/avs/boards/rt5682.c @@ -234,38 +234,6 @@ static int avs_create_dai_link(struct device *dev, con= st char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 2; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "AIF1 Capture"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_card_suspend_pre(struct snd_soc_card *card) { struct snd_soc_dai *codec_dai =3D snd_soc_card_get_codec_dai(card, AVS_RT= 5682_CODEC_DAI_NAME); @@ -283,14 +251,13 @@ static int avs_card_resume_post(struct snd_soc_card *= card) =20 static int avs_rt5682_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct snd_soc_jack *jack; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 if (pdev->id_entry && pdev->id_entry->driver_data) avs_rt5682_quirk =3D (unsigned long)pdev->id_entry->driver_data; @@ -308,12 +275,6 @@ static int avs_rt5682_probe(struct platform_device *pd= ev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - jack =3D devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!jack || !card) @@ -330,8 +291,8 @@ static int avs_rt5682_probe(struct platform_device *pde= v) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; snd_soc_card_set_drvdata(card, jack); =20 --=20 2.34.1 From nobody Sat Feb 7 17:41:33 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9DD2C7EE23 for ; Mon, 12 Jun 2023 03:16:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234791AbjFLDQn (ORCPT ); Sun, 11 Jun 2023 23:16:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49792 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234374AbjFLDP3 (ORCPT ); Sun, 11 Jun 2023 23:15:29 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1939DC4 for ; Sun, 11 Jun 2023 20:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686539728; x=1718075728; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yEL4WgOYASzXlYpxiAO18qiaEOcuWhFhWKeJfuvKTD4=; b=VA/uj4AM+QjJ7GlMsQlvivxsNt39804LM2vCFZ+7THpSpV+KyplpVcPW ZPIDbCRYoD2TBtAG6odKFPIbp0ACIPQh7Mi75bD/5ITC/XdIzDpbeSKg+ J73y6MiqYgbOzt2brKctKDEPOrplPr6lKZIkKFO1GHwjQLiUyqV384C6d ogcFKk5MPGPzZp07dcgjEU5aen3Iq7lSkYfqhogPc7M6l5jffEdeXqmHo +x4ODboUk0bEgBB5U15ZgGlPcYKJWoLrh9ojMql3UMnO5U7EJAVbdxnLp eD7ugnyOzSm07f5meyargQslG19jiOZpW6Be7Y5IqSZzXjmDOdCDNPoWK Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="347579056" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="347579056" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2023 20:15:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="776192001" X-IronPort-AV: E=Sophos;i="6.00,235,1681196400"; d="scan'208";a="776192001" Received: from brentlu-desktop.itwn.intel.com ([10.5.252.92]) by fmsmga008.fm.intel.com with ESMTP; 11 Jun 2023 20:15:13 -0700 From: Brent Lu To: alsa-devel@alsa-project.org Cc: Cezary Rojewski , Pierre-Louis Bossart , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Mark Brown , Jaroslav Kysela , Takashi Iwai , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= , Brent Lu , linux-kernel@vger.kernel.org, Kuninori Morimoto Subject: [PATCH 12/12] ASoC: Intel: avs-ssm4567: remove redundant dapm routes Date: Mon, 12 Jun 2023 19:09:58 +0800 Message-Id: <20230612110958.592674-13-brent.lu@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230612110958.592674-1-brent.lu@intel.com> References: <20230612110958.592674-1-brent.lu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Four routes "Left Playback<-sspX Tx", "Right Playback<-sspX Tx", "sspX Rx<-Left Capture Sense", and "sspX Rx<-Right Capture Sense" are created by snd_soc_dapm_connect_dai_link_widgets() automatically. Remove the duplicate routes. Signed-off-by: Brent Lu --- sound/soc/intel/avs/boards/ssm4567.c | 57 ++-------------------------- 1 file changed, 3 insertions(+), 54 deletions(-) diff --git a/sound/soc/intel/avs/boards/ssm4567.c b/sound/soc/intel/avs/boa= rds/ssm4567.c index 2b7f5ad92aca..7324869d6132 100644 --- a/sound/soc/intel/avs/boards/ssm4567.c +++ b/sound/soc/intel/avs/boards/ssm4567.c @@ -129,59 +129,14 @@ static int avs_create_dai_link(struct device *dev, co= nst char *platform_name, in return 0; } =20 -static int avs_create_dapm_routes(struct device *dev, int ssp_port, - struct snd_soc_dapm_route **routes, int *num_routes) -{ - struct snd_soc_dapm_route *dr; - const int num_base =3D ARRAY_SIZE(card_base_routes); - const int num_dr =3D num_base + 4; - int idx; - - dr =3D devm_kcalloc(dev, num_dr, sizeof(*dr), GFP_KERNEL); - if (!dr) - return -ENOMEM; - - memcpy(dr, card_base_routes, num_base * sizeof(*dr)); - - idx =3D num_base; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Left Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "Right Playback"); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Tx", ssp_port); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "Left Capture Sense"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - idx++; - dr[idx].sink =3D devm_kasprintf(dev, GFP_KERNEL, "ssp%d Rx", ssp_port); - dr[idx].source =3D devm_kasprintf(dev, GFP_KERNEL, "Right Capture Sense"); - if (!dr[idx].sink || !dr[idx].source) - return -ENOMEM; - - *routes =3D dr; - *num_routes =3D num_dr; - - return 0; -} - static int avs_ssm4567_probe(struct platform_device *pdev) { - struct snd_soc_dapm_route *routes; struct snd_soc_dai_link *dai_link; struct snd_soc_acpi_mach *mach; struct snd_soc_card *card; struct device *dev =3D &pdev->dev; const char *pname; - int num_routes, ssp_port, ret; + int ssp_port, ret; =20 mach =3D dev_get_platdata(dev); pname =3D mach->mach_params.platform; @@ -193,12 +148,6 @@ static int avs_ssm4567_probe(struct platform_device *p= dev) return ret; } =20 - ret =3D avs_create_dapm_routes(dev, ssp_port, &routes, &num_routes); - if (ret) { - dev_err(dev, "Failed to create dapm routes: %d", ret); - return ret; - } - card =3D devm_kzalloc(dev, sizeof(*card), GFP_KERNEL); if (!card) return -ENOMEM; @@ -214,8 +163,8 @@ static int avs_ssm4567_probe(struct platform_device *pd= ev) card->num_controls =3D ARRAY_SIZE(card_controls); card->dapm_widgets =3D card_widgets; card->num_dapm_widgets =3D ARRAY_SIZE(card_widgets); - card->dapm_routes =3D routes; - card->num_dapm_routes =3D num_routes; + card->dapm_routes =3D card_base_routes; + card->num_dapm_routes =3D ARRAY_SIZE(card_base_routes); card->fully_routed =3D true; card->disable_route_checks =3D true; =20 --=20 2.34.1