From nobody Thu Sep 11 20:31:22 2025 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 B6CACC636D6 for ; Thu, 16 Feb 2023 10:33:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230084AbjBPKdv (ORCPT ); Thu, 16 Feb 2023 05:33:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230020AbjBPKdr (ORCPT ); Thu, 16 Feb 2023 05:33:47 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8730F20057 for ; Thu, 16 Feb 2023 02:33:17 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 18B78660219B; Thu, 16 Feb 2023 10:33:16 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543596; bh=Lavf09jyhdS+ewCEWzduKnGfji+NNs/v8MNjkeD6LV8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SdYotCyjGxEC59z5vvsg8tUCHQYuttvDuoXkFA2KqDTlWwbX9m3zi8pqClqyMzoWT FAfGrJAFU90XrJ4p0WRrX7q4CQoqDOHjgxhcOHLm04Yn+BY2VRJBOYzH7udzIuHtNj OLfuJvJZ4YtSFgXI4FQAPLFOu2hfckb6Q8EH2sJjanAAAwxbcO2zrXjVWK3NHMVhOg z3TZzb4qPkXNRjvMMjA+lHQF5d+v5nOCLtkG6NHIj7AMzEx1PnRYNAcSXxklBWeXVl lCl+H0Rn6Yn0mkOTwZsbCRZUCWH9HeK1NiX5qqcbb9Xc+f/K+Fvo8SVzGZR5/JdsUP +FRCSFW7JvLgg== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 1/9] ASoC: amd: vangogh: Remove unnecessary init function Date: Thu, 16 Feb 2023 10:32:52 +0000 Message-Id: <20230216103300.360016-2-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Remove empty acp5x_cs35l41_init function Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index eebf2650ad27..5bd9418919a0 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -73,11 +73,6 @@ static int acp5x_8821_init(struct snd_soc_pcm_runtime *r= td) return ret; } =20 -static int acp5x_cs35l41_init(struct snd_soc_pcm_runtime *rtd) -{ - return 0; -} - static const unsigned int rates[] =3D { 48000, }; @@ -258,7 +253,6 @@ static struct snd_soc_dai_link acp5x_dai[] =3D { .dpcm_playback =3D 1, .playback_only =3D 1, .ops =3D &acp5x_cs35l41_play_ops, - .init =3D acp5x_cs35l41_init, SND_SOC_DAILINK_REG(acp5x_bt, cs35l41, platform), }, }; --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 37F97C636D6 for ; Thu, 16 Feb 2023 10:33:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229728AbjBPKd5 (ORCPT ); Thu, 16 Feb 2023 05:33:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230072AbjBPKds (ORCPT ); Thu, 16 Feb 2023 05:33:48 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4C33241FA for ; Thu, 16 Feb 2023 02:33:17 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 684A266021A3; Thu, 16 Feb 2023 10:33:16 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543596; bh=eMkPLVqgn/rm7daKEO/Uj9TaCgE+rT2FdXYO0f+0Kb4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LzD7pKqsIJ1ZAHOId5A8AzFh29YIOkrsIOkrcz6vQcsrdjNbV6S1d66PEcqoKJuZB W3c6XMl7N/ElIacrM9tJhOnJs5x5GgSJrbQ0PL93ZBDi0UQN9h7pSaRIrTlV4f+ltx VPchrA50yPtB3Sp4P396dfOFNIyfnCJHWGR4linKt327i1wAf/w1sUn97iCgPsKPTk d4ZFAXmvkx/PLQqp6MUYSKCyG9CFGZS/cen2GzRu/GQ07aO9s6Uo3utMNT/eZIcm7n hVhpZVG9EJnKdVMoV2OiZC4cXnLfoVszPHApX4AGTefoEsDuB8UVcFX/bZWKXISa5R J/QGmLP8N0ITw== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 2/9] ASoC: amd: vangogh: Update code indentation Date: Thu, 16 Feb 2023 10:32:53 +0000 Message-Id: <20230216103300.360016-3-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Make use of 100 character limit and modify indentation so code is easier to read. While at it: - sort includes in alphabetical order - sort variables declarations by line length - use smaller variables names - remove unnecessary "struct snd_soc_card *card" lines - insert blank lines before return - align defines Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 172 ++++++++++++----------------- 1 file changed, 71 insertions(+), 101 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index 5bd9418919a0..2675fbff9f6f 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -5,34 +5,31 @@ * * Copyright 2021 Advanced Micro Devices, Inc. */ - -#include -#include -#include -#include -#include -#include - -#include +#include #include +#include #include #include +#include #include #include -#include -#include +#include +#include +#include +#include +#include +#include =20 #include "../../codecs/nau8821.h" #include "../../codecs/cs35l41.h" - #include "acp5x.h" =20 -#define DRV_NAME "acp5x_mach" -#define DUAL_CHANNEL 2 -#define ACP5X_NUVOTON_CODEC_DAI "nau8821-hifi" -#define VG_JUPITER 1 -#define ACP5X_NUVOTON_BCLK 3072000 -#define ACP5X_NAU8821_FREQ_OUT 12288000 +#define DRV_NAME "acp5x_mach" +#define DUAL_CHANNEL 2 +#define ACP5X_NUVOTON_CODEC_DAI "nau8821-hifi" +#define VG_JUPITER 1 +#define ACP5X_NUVOTON_BCLK 3072000 +#define ACP5X_NAU8821_FREQ_OUT 12288000 =20 static unsigned long acp5x_machine_id; static struct snd_soc_jack vg_headset; @@ -50,16 +47,14 @@ static struct snd_soc_jack_pin acp5x_nau8821_jack_pins[= ] =3D { =20 static int acp5x_8821_init(struct snd_soc_pcm_runtime *rtd) { + struct snd_soc_component *component =3D asoc_rtd_to_codec(rtd, 0)->compon= ent; int ret; - struct snd_soc_card *card =3D rtd->card; - struct snd_soc_component *component =3D - asoc_rtd_to_codec(rtd, 0)->component; =20 /* * Headset buttons map to the google Reference headset. * These can be configured by userspace. */ - ret =3D snd_soc_card_jack_new_pins(card, "Headset Jack", + ret =3D snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", SND_JACK_HEADSET | SND_JACK_BTN_0, &vg_headset, acp5x_nau8821_jack_pins, ARRAY_SIZE(acp5x_nau8821_jack_pins)); @@ -70,6 +65,7 @@ static int acp5x_8821_init(struct snd_soc_pcm_runtime *rt= d) =20 snd_jack_set_key(vg_headset.jack, SND_JACK_BTN_0, KEY_MEDIA); nau8821_enable_jack_detect(component, &vg_headset); + return ret; } =20 @@ -100,42 +96,35 @@ static struct snd_pcm_hw_constraint_list constraints_s= ample_bits =3D { .count =3D ARRAY_SIZE(acp5x_nau8821_format), }; =20 -static int acp5x_8821_startup(struct snd_pcm_substream *substream) +static int acp5x_8821_startup(struct snd_pcm_substream *sub) { - struct snd_pcm_runtime *runtime =3D substream->runtime; - struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(substream); - struct snd_soc_card *card =3D rtd->card; - struct acp5x_platform_info *machine =3D snd_soc_card_get_drvdata(card); + struct snd_pcm_runtime *runtime =3D sub->runtime; + struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(sub); + struct acp5x_platform_info *machine =3D snd_soc_card_get_drvdata(rtd->car= d); =20 machine->play_i2s_instance =3D I2S_SP_INSTANCE; machine->cap_i2s_instance =3D I2S_SP_INSTANCE; =20 runtime->hw.channels_max =3D DUAL_CHANNEL; - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, - &constraints_channels); - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, - &constraints_rates); - snd_pcm_hw_constraint_list(substream->runtime, 0, - SNDRV_PCM_HW_PARAM_SAMPLE_BITS, + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, &cons= traints_channels); + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &constrai= nts_rates); + snd_pcm_hw_constraint_list(sub->runtime, 0, SNDRV_PCM_HW_PARAM_SAMPLE_BIT= S, &constraints_sample_bits); + return 0; } =20 -static int acp5x_nau8821_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *params) +static int acp5x_nau8821_hw_params(struct snd_pcm_substream *sub, struct s= nd_pcm_hw_params *params) { - struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(substream); + struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(sub); struct snd_soc_card *card =3D rtd->card; - struct snd_soc_dai *codec_dai =3D - snd_soc_card_get_codec_dai(card, - ACP5X_NUVOTON_CODEC_DAI); + struct snd_soc_dai *dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTO= N_CODEC_DAI); int ret; =20 - ret =3D snd_soc_dai_set_sysclk(codec_dai, NAU8821_CLK_FLL_BLK, 0, - SND_SOC_CLOCK_IN); + ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOCK= _IN); if (ret < 0) dev_err(card->dev, "can't set FS clock %d\n", ret); - ret =3D snd_soc_dai_set_pll(codec_dai, 0, 0, snd_soc_params_to_bclk(param= s), + ret =3D snd_soc_dai_set_pll(dai, 0, 0, snd_soc_params_to_bclk(params), params_rate(params) * 256); if (ret < 0) dev_err(card->dev, "can't set FLL: %d\n", ret); @@ -145,35 +134,32 @@ static int acp5x_nau8821_hw_params(struct snd_pcm_sub= stream *substream, =20 static int acp5x_cs35l41_startup(struct snd_pcm_substream *substream) { - struct snd_pcm_runtime *runtime =3D substream->runtime; struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(substream); - struct snd_soc_card *card =3D rtd->card; - struct acp5x_platform_info *machine =3D snd_soc_card_get_drvdata(card); + struct acp5x_platform_info *machine =3D snd_soc_card_get_drvdata(rtd->car= d); + struct snd_pcm_runtime *runtime =3D substream->runtime; =20 machine->play_i2s_instance =3D I2S_HS_INSTANCE; =20 runtime->hw.channels_max =3D DUAL_CHANNEL; - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, - &constraints_channels); - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, - &constraints_rates); + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, &cons= traints_channels); + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &constrai= nts_rates); + return 0; } =20 -static int acp5x_cs35l41_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *params) +static int acp5x_cs35l41_hw_params(struct snd_pcm_substream *sub, struct s= nd_pcm_hw_params *params) { - struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(substream); - struct snd_soc_card *card =3D rtd->card; - struct snd_soc_dai *codec_dai; - int ret, i; + struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(sub); unsigned int num_codecs =3D rtd->dai_link->num_codecs; + struct snd_soc_card *card =3D rtd->card; + struct snd_soc_dai *dai; unsigned int bclk_val; + int ret, i; =20 ret =3D 0; for (i =3D 0; i < num_codecs; i++) { - codec_dai =3D asoc_rtd_to_codec(rtd, i); - if (strcmp(codec_dai->name, "cs35l41-pcm") =3D=3D 0) { + dai =3D asoc_rtd_to_codec(rtd, i); + if (strcmp(dai->name, "cs35l41-pcm") =3D=3D 0) { switch (params_rate(params)) { case 48000: bclk_val =3D 1536000; @@ -183,7 +169,7 @@ static int acp5x_cs35l41_hw_params(struct snd_pcm_subst= ream *substream, params_rate(params)); return -EINVAL; } - ret =3D snd_soc_component_set_sysclk(codec_dai->component, + ret =3D snd_soc_component_set_sysclk(dai->component, 0, 0, bclk_val, SND_SOC_CLOCK_IN); if (ret < 0) { dev_err(card->dev, "failed to set sysclk for CS35l41 dai\n"); @@ -216,29 +202,18 @@ static struct snd_soc_codec_conf cs35l41_conf[] =3D { }, }; =20 -SND_SOC_DAILINK_DEF(acp5x_i2s, - DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_playcap.0"))); - -SND_SOC_DAILINK_DEF(acp5x_bt, - DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_playcap.1"))); - -SND_SOC_DAILINK_DEF(nau8821, - DAILINK_COMP_ARRAY(COMP_CODEC("i2c-NVTN2020:00", - "nau8821-hifi"))); - -SND_SOC_DAILINK_DEF(cs35l41, - DAILINK_COMP_ARRAY(COMP_CODEC("spi-VLV1776:00", "cs35l41-pcm"), - COMP_CODEC("spi-VLV1776:01", "cs35l41-pcm"))); - -SND_SOC_DAILINK_DEF(platform, - DAILINK_COMP_ARRAY(COMP_PLATFORM("acp5x_i2s_dma.0"))); +SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("acp5x_i2s= _dma.0"))); +SND_SOC_DAILINK_DEF(acp5x_i2s, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.0"))); +SND_SOC_DAILINK_DEF(acp5x_bt, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.1"))); +SND_SOC_DAILINK_DEF(nau8821, DAILINK_COMP_ARRAY(COMP_CODEC("i2c-NVTN2020= :00", "nau8821-hifi"))); +SND_SOC_DAILINK_DEF(cs35l41, DAILINK_COMP_ARRAY(COMP_CODEC("spi-VLV1776:= 00", "cs35l41-pcm"), + COMP_CODEC("spi-VLV1776:01", "cs35l41-pcm"))); =20 static struct snd_soc_dai_link acp5x_dai[] =3D { { .name =3D "acp5x-8821-play", .stream_name =3D "Playback/Capture", - .dai_fmt =3D SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | - SND_SOC_DAIFMT_CBC_CFC, + .dai_fmt =3D SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT= _CBC_CFC, .dpcm_playback =3D 1, .dpcm_capture =3D 1, .ops =3D &acp5x_8821_ops, @@ -248,8 +223,7 @@ static struct snd_soc_dai_link acp5x_dai[] =3D { { .name =3D "acp5x-CS35L41-Stereo", .stream_name =3D "CS35L41 Stereo Playback", - .dai_fmt =3D SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | - SND_SOC_DAIFMT_CBC_CFC, + .dai_fmt =3D SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT= _CBC_CFC, .dpcm_playback =3D 1, .playback_only =3D 1, .ops =3D &acp5x_cs35l41_play_ops, @@ -257,37 +231,34 @@ static struct snd_soc_dai_link acp5x_dai[] =3D { }, }; =20 -static int platform_clock_control(struct snd_soc_dapm_widget *w, - struct snd_kcontrol *k, int event) +static int platform_clock_control(struct snd_soc_dapm_widget *w, struct sn= d_kcontrol *k, int event) { struct snd_soc_dapm_context *dapm =3D w->dapm; struct snd_soc_card *card =3D dapm->card; - struct snd_soc_dai *codec_dai; + struct snd_soc_dai *dai; int ret =3D 0; =20 - codec_dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTON_CODEC_DAI); - if (!codec_dai) { + dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTON_CODEC_DAI); + if (!dai) { dev_err(card->dev, "Codec dai not found\n"); return -EIO; } =20 if (SND_SOC_DAPM_EVENT_OFF(event)) { - ret =3D snd_soc_dai_set_sysclk(codec_dai, NAU8821_CLK_INTERNAL, - 0, SND_SOC_CLOCK_IN); + ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_INTERNAL, 0, SND_SOC_CLO= CK_IN); if (ret < 0) { dev_err(card->dev, "set sysclk err =3D %d\n", ret); return -EIO; } } else { - ret =3D snd_soc_dai_set_sysclk(codec_dai, NAU8821_CLK_FLL_BLK, 0, - SND_SOC_CLOCK_IN); + ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOC= K_IN); if (ret < 0) - dev_err(codec_dai->dev, "can't set BLK clock %d\n", ret); - ret =3D snd_soc_dai_set_pll(codec_dai, 0, 0, ACP5X_NUVOTON_BCLK, - ACP5X_NAU8821_FREQ_OUT); + dev_err(dai->dev, "can't set BLK clock %d\n", ret); + ret =3D snd_soc_dai_set_pll(dai, 0, 0, ACP5X_NUVOTON_BCLK, ACP5X_NAU8821= _FREQ_OUT); if (ret < 0) - dev_err(codec_dai->dev, "can't set FLL: %d\n", ret); + dev_err(dai->dev, "can't set FLL: %d\n", ret); } + return ret; } =20 @@ -336,6 +307,7 @@ static struct snd_soc_card acp5x_card =3D { static int acp5x_vg_quirk_cb(const struct dmi_system_id *id) { acp5x_machine_id =3D VG_JUPITER; + return 1; } =20 @@ -352,12 +324,12 @@ static const struct dmi_system_id acp5x_vg_quirk_tabl= e[] =3D { =20 static int acp5x_probe(struct platform_device *pdev) { - int ret; struct acp5x_platform_info *machine; + struct device *dev =3D &pdev->dev; struct snd_soc_card *card; + int ret; =20 - machine =3D devm_kzalloc(&pdev->dev, sizeof(struct acp5x_platform_info), - GFP_KERNEL); + machine =3D devm_kzalloc(&pdev->dev, sizeof(struct acp5x_platform_info), = GFP_KERNEL); if (!machine) return -ENOMEM; =20 @@ -365,20 +337,18 @@ static int acp5x_probe(struct platform_device *pdev) switch (acp5x_machine_id) { case VG_JUPITER: card =3D &acp5x_card; - acp5x_card.dev =3D &pdev->dev; break; default: return -ENODEV; } + card->dev =3D dev; platform_set_drvdata(pdev, card); snd_soc_card_set_drvdata(card, machine); =20 - ret =3D devm_snd_soc_register_card(&pdev->dev, card); - if (ret) { - return dev_err_probe(&pdev->dev, ret, - "snd_soc_register_card(%s) failed\n", - acp5x_card.name); - } + ret =3D devm_snd_soc_register_card(dev, card); + if (ret) + return dev_err_probe(dev, ret, "snd_soc_register_card(%s) failed\n", car= d->name); + return 0; } =20 --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 8F518C636CC for ; Thu, 16 Feb 2023 10:33:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230089AbjBPKdx (ORCPT ); Thu, 16 Feb 2023 05:33:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230039AbjBPKdr (ORCPT ); Thu, 16 Feb 2023 05:33:47 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 20AB98A60 for ; Thu, 16 Feb 2023 02:33:18 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id B6BC466021A6; Thu, 16 Feb 2023 10:33:16 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543596; bh=VHRkSn0YnTcjuOlw01AI/fSVRsUsk4QbQgU+wC4C4Ok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HX5faCVUvtrcauQ3nDoj32lCNd93NRVHloTDZFIXMRHzW9sIiN3w/FyqCiDYO4my0 czZKEE7fy3flR3vqU1OuV6Y2B0EAnkGZE/CllbSOZ1xQbVXHVwhgP6mgZp+AXvUU0e qE307I0nUk5kVFD18U8Idqv6HbOntnoKPKaWXggFY96ZgGurP3DRoPi+2vckH5dTt5 fE4cFcU03z8g8E96o29+IieU66Z8J5w9prrTHfoWcScZDivm4Fau74TfgQObQ9oEIz xXk8eL+m4AcI5ReKjrXOWb/SkxVWgbCUJAovKqRp13MhQ0RnVZAcPiheIYrb9KKLv2 uaNSFbDXM5stA== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 3/9] ASoC: amd: vangogh: use sizeof of variable instead of struct type Date: Thu, 16 Feb 2023 10:32:54 +0000 Message-Id: <20230216103300.360016-4-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Use sizeof(*machine) instead of sizeof(struct acp5x_platform_info) There is a possibility of bug when variable type has changed but corresponding struct passed to the sizeof has not. Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index 2675fbff9f6f..ec67345bcda4 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -329,7 +329,7 @@ static int acp5x_probe(struct platform_device *pdev) struct snd_soc_card *card; int ret; =20 - machine =3D devm_kzalloc(&pdev->dev, sizeof(struct acp5x_platform_info), = GFP_KERNEL); + machine =3D devm_kzalloc(&pdev->dev, sizeof(*machine), GFP_KERNEL); if (!machine) return -ENOMEM; =20 --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 C91B8C61DA4 for ; Thu, 16 Feb 2023 10:33:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230088AbjBPKdz (ORCPT ); Thu, 16 Feb 2023 05:33:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230062AbjBPKdr (ORCPT ); Thu, 16 Feb 2023 05:33:47 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70E0C4DE0C for ; Thu, 16 Feb 2023 02:33:18 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 0682166021A9; Thu, 16 Feb 2023 10:33:17 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543597; bh=ZpcE2oB019Vx9W+2McN1zJf+PPUx52lteTlLNDgCDzw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ToJ0nZWnBnVV2z3olLVYeW1e9I3ZCqwCWY/jXJHAMgZCY5nKJXSs1PCDAa/WhSWwH sf0h80qfowBSUv+NgmnoIir+BNBlgfI4ew5KUgiIeoNmSaBBCtFSW/bV4KqKqaTQ1g MF3tsLOsM7gtUD1LJdiznqSKKb/D+WLp7gJahIvggxHqdzNuZvEIkRWvqNu1z1OEEu ghwQgd/XrgROHQEO4K55OJPdHtsPyDCLyIXrOnV0dVh+ryq2Hp1uIPWvZhCcEi0aau /AIvVGBF0XiFlP9hV2PuA7Jx0HmWYyhd8/mDxpf3ucIcwsHk9C49MrfBI5d7i8nBxl ZHqgP2edOk2Pg== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 4/9] ASoC: amd: vangogh: remove unnecessarily included headers Date: Thu, 16 Feb 2023 10:32:55 +0000 Message-Id: <20230216103300.360016-5-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Remove unused includes and replace by Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index ec67345bcda4..841b79fa6af5 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -5,23 +5,19 @@ * * Copyright 2021 Advanced Micro Devices, Inc. */ + #include -#include #include -#include #include -#include #include -#include +#include #include #include -#include #include #include #include =20 #include "../../codecs/nau8821.h" -#include "../../codecs/cs35l41.h" #include "acp5x.h" =20 #define DRV_NAME "acp5x_mach" --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 1139BC61DA4 for ; Thu, 16 Feb 2023 10:34:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230132AbjBPKeD (ORCPT ); Thu, 16 Feb 2023 05:34:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229524AbjBPKd4 (ORCPT ); Thu, 16 Feb 2023 05:33:56 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7356826CCB for ; Thu, 16 Feb 2023 02:33:48 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 509D366021AC; Thu, 16 Feb 2023 10:33:17 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543597; bh=43yrk27ebZVqNfPcof4HKNkZsJxttOq3JVVqD2Lme4I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=X3p7b9WGXkiLWV7Vk9OC51TdwgqNL/CwWbd5k4+W9YpiZEn0bjZ8Dv8PPvvHPt7Jh LoXlY1EoPY0Ve6K84AdXLnmLcAZ/A/7S5s2gQtHnChWz0W99O2J1ny6KMnGWOCE8lx fwCZi0nQ/FL2t8DaPx0fzDS0C5naLKNlIZ1Swu608UizlNXtRcWm3SY0GslPNTSi/q J43hRDM8d0YpzhsG8xVllEW2f/CDoaHn1eNjT+WYklwnuNOVd3NNc6YeLxhNXPB0Er dHW3UjXUwFN+8B1F6HcITHKHeZzoZLC34oEGefsgYJR+pJr3M/C6CFMfQLQlR35DtH +jc1hL79vuXQA== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 5/9] ASoC: amd: vangogh: use for_each_rtd_components instead of for Date: Thu, 16 Feb 2023 10:32:56 +0000 Message-Id: <20230216103300.360016-6-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" To iterate over components use for_each_rtd_components And compare to component name, so asoc_rtd_to_codec and the dai code can be removed Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index 841b79fa6af5..e7a7558f70ae 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -146,35 +146,35 @@ static int acp5x_cs35l41_startup(struct snd_pcm_subst= ream *substream) static int acp5x_cs35l41_hw_params(struct snd_pcm_substream *sub, struct s= nd_pcm_hw_params *params) { struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(sub); - unsigned int num_codecs =3D rtd->dai_link->num_codecs; - struct snd_soc_card *card =3D rtd->card; - struct snd_soc_dai *dai; - unsigned int bclk_val; + unsigned int bclk, rate =3D params_rate(params); + struct snd_soc_component *comp; int ret, i; =20 - ret =3D 0; - for (i =3D 0; i < num_codecs; i++) { - dai =3D asoc_rtd_to_codec(rtd, i); - if (strcmp(dai->name, "cs35l41-pcm") =3D=3D 0) { - switch (params_rate(params)) { - case 48000: - bclk_val =3D 1536000; - break; - default: - dev_err(card->dev, "Invalid Samplerate:0x%x\n", - params_rate(params)); + switch (rate) { + case 48000: + bclk =3D 1536000; + break; + default: + bclk =3D 0; + break; + } + + for_each_rtd_components(rtd, i, comp) { + if (!(strcmp(comp->name, "spi-VLV1776:00")) || + !(strcmp(comp->name, "spi-VLV1776:01"))) { + if (!bclk) { + dev_err(comp->dev, "Invalid sample rate: 0x%x\n", rate); return -EINVAL; } - ret =3D snd_soc_component_set_sysclk(dai->component, - 0, 0, bclk_val, SND_SOC_CLOCK_IN); - if (ret < 0) { - dev_err(card->dev, "failed to set sysclk for CS35l41 dai\n"); + ret =3D snd_soc_component_set_sysclk(comp, 0, 0, bclk, SND_SOC_CLOCK_IN= ); + if (ret) { + dev_err(comp->dev, "failed to set SYSCLK: %d\n", ret); return ret; } } } =20 - return ret; + return 0; } =20 static const struct snd_soc_ops acp5x_8821_ops =3D { --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 B82DEC61DA4 for ; Thu, 16 Feb 2023 10:34:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230118AbjBPKeN (ORCPT ); Thu, 16 Feb 2023 05:34:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230106AbjBPKd6 (ORCPT ); Thu, 16 Feb 2023 05:33:58 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7370853554 for ; Thu, 16 Feb 2023 02:33:48 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 9200A66021AF; Thu, 16 Feb 2023 10:33:17 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543597; bh=6uIzQS1xNpwxFvvbM87RxfIH+mS9cj2FTgkkgyvBiJ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Jfy5Zjg42QUQbjlpPFqsj32bfBR1nwlLfP3OxihOfpeNgUSyx186woidwN9TRk1Jt 1z0TrhI8jnhmtlYuJ913exsgOjC2c1ik11WB1uRI4PLO22eVk+OHTJ30oRoTh4IXF2 /5Z71cebK9+VVfQI7iAWzabFk75/LTGIL597kc0Us9cDHKXdW94aA1dr133CbV97nS SsJGD01zI5W0ToYZuJh3bXZJAVW2dliw7bpbQnMtSGIOL9VDRQ7X62Ocqref+BSird REzeuEla/j87JHBgPtiFoLsuFkr1HaVs385Yh2QOK7/qXZ12sC6XZhCDE+XcJhhE2l ItLfeK6ghdq0g== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 6/9] ASoC: amd: vangogh: Check Bit Clock rate before snd_soc_dai_set_pll Date: Thu, 16 Feb 2023 10:32:57 +0000 Message-Id: <20230216103300.360016-7-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Check bit clock is valid before setting it with snd_soc_dai_set_pll Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index e7a7558f70ae..7072352389ab 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -115,13 +115,19 @@ static int acp5x_nau8821_hw_params(struct snd_pcm_sub= stream *sub, struct snd_pcm struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(sub); struct snd_soc_card *card =3D rtd->card; struct snd_soc_dai *dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTO= N_CODEC_DAI); - int ret; + int ret, bclk; =20 ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOCK= _IN); if (ret < 0) dev_err(card->dev, "can't set FS clock %d\n", ret); - ret =3D snd_soc_dai_set_pll(dai, 0, 0, snd_soc_params_to_bclk(params), - params_rate(params) * 256); + + bclk =3D snd_soc_params_to_bclk(params); + if (bclk < 0) { + dev_err(dai->dev, "Fail to get BCLK rate: %d\n", bclk); + return bclk; + } + + ret =3D snd_soc_dai_set_pll(dai, 0, 0, bclk, params_rate(params) * 256); if (ret < 0) dev_err(card->dev, "can't set FLL: %d\n", ret); =20 --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 C9489C636CC for ; Thu, 16 Feb 2023 10:34:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230167AbjBPKeS (ORCPT ); Thu, 16 Feb 2023 05:34:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42910 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230113AbjBPKd6 (ORCPT ); Thu, 16 Feb 2023 05:33:58 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 734BC24482 for ; Thu, 16 Feb 2023 02:33:48 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id D55C266021B2; Thu, 16 Feb 2023 10:33:17 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543598; bh=7uDbcSAZRH22sMPw1Qxd1jKQJY/DJ64A24vTl6X5+nM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R7Ptfz7dh4964QuANWo5wW+22D45d8lqKL9PheXPJFUXzbeXB/BTBbkMgwdA7QCo3 UlENcgKFnUl4ovTztkCRMftFUS4hl0GTTCUEhbb0w0kdWIOwgMJSMqMssVRF01GiIz VXbcvGFp5BeVuJnAl3lRW9W049OnxN1yHHaBw9oDnrRfoDV5jvWU8zdb8gu+6jfhaW fks5ps8ObkNcZqBeDiFsJwYL4RrrWFTfca3KmFuyqm3jO1Iq0paZWyCV++x0BfUOIo NfIUICS2YxBfWv+ZkD+JWtMv2/kOGWKsGxbEGjplz3810QPIDi+NigD+599/305q/z 2dXh/gca7Njew== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 7/9] ASoC: amd: vangogh: Move nau8821 and CPU side code up for future platform Date: Thu, 16 Feb 2023 10:32:58 +0000 Message-Id: <20230216103300.360016-8-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Move nau8821 and CPU side code up in the source so future platforms can be added. Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 93 +++++++++++++++--------------- 1 file changed, 47 insertions(+), 46 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index 7072352389ab..2072151957a6 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -30,6 +30,11 @@ static unsigned long acp5x_machine_id; static struct snd_soc_jack vg_headset; =20 +SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("acp5x_i2s= _dma.0"))); +SND_SOC_DAILINK_DEF(acp5x_i2s, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.0"))); +SND_SOC_DAILINK_DEF(acp5x_bt, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.1"))); +SND_SOC_DAILINK_DEF(nau8821, DAILINK_COMP_ARRAY(COMP_CODEC("i2c-NVTN2020= :00", "nau8821-hifi"))); + static struct snd_soc_jack_pin acp5x_nau8821_jack_pins[] =3D { { .pin =3D "Headphone", @@ -134,6 +139,48 @@ static int acp5x_nau8821_hw_params(struct snd_pcm_subs= tream *sub, struct snd_pcm return ret; } =20 +static int platform_clock_control(struct snd_soc_dapm_widget *w, struct sn= d_kcontrol *k, int event) +{ + struct snd_soc_dapm_context *dapm =3D w->dapm; + struct snd_soc_card *card =3D dapm->card; + struct snd_soc_dai *dai; + int ret =3D 0; + + dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTON_CODEC_DAI); + if (!dai) { + dev_err(card->dev, "Codec dai not found\n"); + return -EIO; + } + + if (SND_SOC_DAPM_EVENT_OFF(event)) { + ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_INTERNAL, 0, SND_SOC_CLO= CK_IN); + if (ret < 0) { + dev_err(card->dev, "set sysclk err =3D %d\n", ret); + return -EIO; + } + } else { + ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOC= K_IN); + if (ret < 0) + dev_err(dai->dev, "can't set BLK clock %d\n", ret); + ret =3D snd_soc_dai_set_pll(dai, 0, 0, ACP5X_NUVOTON_BCLK, ACP5X_NAU8821= _FREQ_OUT); + if (ret < 0) + dev_err(dai->dev, "can't set FLL: %d\n", ret); + } + + return ret; +} + +static const struct snd_kcontrol_new acp5x_8821_controls[] =3D { + SOC_DAPM_PIN_SWITCH("Headphone"), + SOC_DAPM_PIN_SWITCH("Headset Mic"), + SOC_DAPM_PIN_SWITCH("Int Mic"), +}; + +static const struct snd_soc_ops acp5x_8821_ops =3D { + .startup =3D acp5x_8821_startup, + .hw_params =3D acp5x_nau8821_hw_params, +}; + static int acp5x_cs35l41_startup(struct snd_pcm_substream *substream) { struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(substream); @@ -183,11 +230,6 @@ static int acp5x_cs35l41_hw_params(struct snd_pcm_subs= tream *sub, struct snd_pcm return 0; } =20 -static const struct snd_soc_ops acp5x_8821_ops =3D { - .startup =3D acp5x_8821_startup, - .hw_params =3D acp5x_nau8821_hw_params, -}; - static const struct snd_soc_ops acp5x_cs35l41_play_ops =3D { .startup =3D acp5x_cs35l41_startup, .hw_params =3D acp5x_cs35l41_hw_params, @@ -204,10 +246,6 @@ static struct snd_soc_codec_conf cs35l41_conf[] =3D { }, }; =20 -SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("acp5x_i2s= _dma.0"))); -SND_SOC_DAILINK_DEF(acp5x_i2s, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.0"))); -SND_SOC_DAILINK_DEF(acp5x_bt, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.1"))); -SND_SOC_DAILINK_DEF(nau8821, DAILINK_COMP_ARRAY(COMP_CODEC("i2c-NVTN2020= :00", "nau8821-hifi"))); SND_SOC_DAILINK_DEF(cs35l41, DAILINK_COMP_ARRAY(COMP_CODEC("spi-VLV1776:= 00", "cs35l41-pcm"), COMP_CODEC("spi-VLV1776:01", "cs35l41-pcm"))); =20 @@ -233,43 +271,6 @@ static struct snd_soc_dai_link acp5x_dai[] =3D { }, }; =20 -static int platform_clock_control(struct snd_soc_dapm_widget *w, struct sn= d_kcontrol *k, int event) -{ - struct snd_soc_dapm_context *dapm =3D w->dapm; - struct snd_soc_card *card =3D dapm->card; - struct snd_soc_dai *dai; - int ret =3D 0; - - dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTON_CODEC_DAI); - if (!dai) { - dev_err(card->dev, "Codec dai not found\n"); - return -EIO; - } - - if (SND_SOC_DAPM_EVENT_OFF(event)) { - ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_INTERNAL, 0, SND_SOC_CLO= CK_IN); - if (ret < 0) { - dev_err(card->dev, "set sysclk err =3D %d\n", ret); - return -EIO; - } - } else { - ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOC= K_IN); - if (ret < 0) - dev_err(dai->dev, "can't set BLK clock %d\n", ret); - ret =3D snd_soc_dai_set_pll(dai, 0, 0, ACP5X_NUVOTON_BCLK, ACP5X_NAU8821= _FREQ_OUT); - if (ret < 0) - dev_err(dai->dev, "can't set FLL: %d\n", ret); - } - - return ret; -} - -static const struct snd_kcontrol_new acp5x_8821_controls[] =3D { - SOC_DAPM_PIN_SWITCH("Headphone"), - SOC_DAPM_PIN_SWITCH("Headset Mic"), - SOC_DAPM_PIN_SWITCH("Int Mic"), -}; - static const struct snd_soc_dapm_widget acp5x_8821_widgets[] =3D { SND_SOC_DAPM_HP("Headphone", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL), --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 96277C61DA4 for ; Thu, 16 Feb 2023 10:34:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230145AbjBPKeQ (ORCPT ); Thu, 16 Feb 2023 05:34:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230108AbjBPKd6 (ORCPT ); Thu, 16 Feb 2023 05:33:58 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 73A3453565 for ; Thu, 16 Feb 2023 02:33:48 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 3333166021B3; Thu, 16 Feb 2023 10:33:18 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543598; bh=chmwk6fvhRVHQOUMI9wp8+JK79x2xomUKtydhXMVBNk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=K2RPYHNGQU7Hh5H8meQuL2m1AqCoc6wlevV3gbowTee0sma5Iz18yMKtMQnhBbNXD vyoXOxA0/uEk5iD1UcMBMejewyJTLLuyI3Na7VbeuGpkCMY4vqeNhsEslTIbpg2oiI 3vPzGNAF3+ykP7P40XkTlRptFZ+taULqCHJRqLsWisPzUHAEneZUmO09JaeOYoulme Oy35Q5+0pkV7PIxR0HfHMiwuiTpWUCx+fUf6j0xA8gyuM8250GTtzsXAl1TtXBl1Ip vCqEbzU1nqgUTUjfLitF8ce5FxVklFub4wudtugkzPdqr5W6xUBEa4Xa+7ANPa7L1f rSqkR5KpWETGA== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 8/9] ASoC: amd: vangogh: Centralize strings definition Date: Thu, 16 Feb 2023 10:32:59 +0000 Message-Id: <20230216103300.360016-9-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Replace occurrences of strings by their definition, avoiding bugs where the string changed, but not all places have been modified Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index 2072151957a6..74c7b267dcfd 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -22,10 +22,13 @@ =20 #define DRV_NAME "acp5x_mach" #define DUAL_CHANNEL 2 -#define ACP5X_NUVOTON_CODEC_DAI "nau8821-hifi" #define VG_JUPITER 1 -#define ACP5X_NUVOTON_BCLK 3072000 -#define ACP5X_NAU8821_FREQ_OUT 12288000 +#define NAU8821_BCLK 3072000 +#define NAU8821_FREQ_OUT 12288000 +#define NAU8821_DAI "nau8821-hifi" +#define CS35L41_LNAME "spi-VLV1776:00" +#define CS35L41_RNAME "spi-VLV1776:01" +#define CS35L41_DAI "cs35l41-pcm" =20 static unsigned long acp5x_machine_id; static struct snd_soc_jack vg_headset; @@ -33,7 +36,7 @@ static struct snd_soc_jack vg_headset; SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("acp5x_i2s= _dma.0"))); SND_SOC_DAILINK_DEF(acp5x_i2s, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.0"))); SND_SOC_DAILINK_DEF(acp5x_bt, DAILINK_COMP_ARRAY(COMP_CPU("acp5x_i2s_play= cap.1"))); -SND_SOC_DAILINK_DEF(nau8821, DAILINK_COMP_ARRAY(COMP_CODEC("i2c-NVTN2020= :00", "nau8821-hifi"))); +SND_SOC_DAILINK_DEF(nau8821, DAILINK_COMP_ARRAY(COMP_CODEC("i2c-NVTN2020= :00", NAU8821_DAI))); =20 static struct snd_soc_jack_pin acp5x_nau8821_jack_pins[] =3D { { @@ -119,7 +122,7 @@ static int acp5x_nau8821_hw_params(struct snd_pcm_subst= ream *sub, struct snd_pcm { struct snd_soc_pcm_runtime *rtd =3D asoc_substream_to_rtd(sub); struct snd_soc_card *card =3D rtd->card; - struct snd_soc_dai *dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTO= N_CODEC_DAI); + struct snd_soc_dai *dai =3D snd_soc_card_get_codec_dai(card, NAU8821_DAI); int ret, bclk; =20 ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOCK= _IN); @@ -146,7 +149,7 @@ static int platform_clock_control(struct snd_soc_dapm_w= idget *w, struct snd_kcon struct snd_soc_dai *dai; int ret =3D 0; =20 - dai =3D snd_soc_card_get_codec_dai(card, ACP5X_NUVOTON_CODEC_DAI); + dai =3D snd_soc_card_get_codec_dai(card, NAU8821_DAI); if (!dai) { dev_err(card->dev, "Codec dai not found\n"); return -EIO; @@ -162,7 +165,7 @@ static int platform_clock_control(struct snd_soc_dapm_w= idget *w, struct snd_kcon ret =3D snd_soc_dai_set_sysclk(dai, NAU8821_CLK_FLL_BLK, 0, SND_SOC_CLOC= K_IN); if (ret < 0) dev_err(dai->dev, "can't set BLK clock %d\n", ret); - ret =3D snd_soc_dai_set_pll(dai, 0, 0, ACP5X_NUVOTON_BCLK, ACP5X_NAU8821= _FREQ_OUT); + ret =3D snd_soc_dai_set_pll(dai, 0, 0, NAU8821_BCLK, NAU8821_FREQ_OUT); if (ret < 0) dev_err(dai->dev, "can't set FLL: %d\n", ret); } @@ -213,8 +216,7 @@ static int acp5x_cs35l41_hw_params(struct snd_pcm_subst= ream *sub, struct snd_pcm } =20 for_each_rtd_components(rtd, i, comp) { - if (!(strcmp(comp->name, "spi-VLV1776:00")) || - !(strcmp(comp->name, "spi-VLV1776:01"))) { + if (!(strcmp(comp->name, CS35L41_LNAME)) || !(strcmp(comp->name, CS35L41= _RNAME))) { if (!bclk) { dev_err(comp->dev, "Invalid sample rate: 0x%x\n", rate); return -EINVAL; @@ -237,17 +239,17 @@ static const struct snd_soc_ops acp5x_cs35l41_play_op= s =3D { =20 static struct snd_soc_codec_conf cs35l41_conf[] =3D { { - .dlc =3D COMP_CODEC_CONF("spi-VLV1776:00"), + .dlc =3D COMP_CODEC_CONF(CS35L41_LNAME), .name_prefix =3D "Left", }, { - .dlc =3D COMP_CODEC_CONF("spi-VLV1776:01"), + .dlc =3D COMP_CODEC_CONF(CS35L41_RNAME), .name_prefix =3D "Right", }, }; =20 -SND_SOC_DAILINK_DEF(cs35l41, DAILINK_COMP_ARRAY(COMP_CODEC("spi-VLV1776:= 00", "cs35l41-pcm"), - COMP_CODEC("spi-VLV1776:01", "cs35l41-pcm"))); +SND_SOC_DAILINK_DEF(cs35l41, DAILINK_COMP_ARRAY(COMP_CODEC(CS35L41_LNAME, = CS35L41_DAI), + COMP_CODEC(CS35L41_RNAME, CS35L41_DAI))); =20 static struct snd_soc_dai_link acp5x_dai[] =3D { { --=20 2.39.2 From nobody Thu Sep 11 20:31:22 2025 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 5CC73C636CC for ; Thu, 16 Feb 2023 10:34:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230142AbjBPKeF (ORCPT ); Thu, 16 Feb 2023 05:34:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230105AbjBPKd6 (ORCPT ); Thu, 16 Feb 2023 05:33:58 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0974D241E1 for ; Thu, 16 Feb 2023 02:33:48 -0800 (PST) Received: from cryzen.lan (cpc87451-finc19-2-0-cust61.4-2.cable.virginm.net [82.11.51.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tanureal) by madras.collabora.co.uk (Postfix) with ESMTPSA id 8386566021A2; Thu, 16 Feb 2023 10:33:18 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1676543598; bh=UYYJ0M2hdv/ks6BhqzkrJ1QZa+6pdX9WvWLId0MXbes=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=htA0/nVIfuHIK/ZlEBWjGYeFc0DijyYp0DzlKu2YTcm+yiPCm0zhTUEpwo96JG4Rx UFmBf/1gABVxj3WthcHUt/cn4iVtZ9VTDHVPrY4D+cH87kBMICI7f+/H3/TCBa4iAF W3RRIy40XQdW1JCKYGZcP7/8EQhbYKVQ2cn7NoMSDx7HXlBgBCp6PLbBqXE3nVMQ9m 6HNC7dfgHQedpEj34syVxc3nSyzPLGWFbJEYw1okzF80Iiq+nTHo5W8ey7j1ZKQ0Ht XZbJhFI9KK2VSxTQR4Pi0YI1YFMd5meKCfvya+BVu8XNJ3zzaaBk3Y0nKc5kN4tZ9p 9UL6lMKGkPmqQ== From: Lucas Tanure To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Vijendar Mukunda Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Lucas Tanure , kernel@collabora.com Subject: [PATCH 9/9] ASoC: amd: vangogh: Include cs35l41 in structs names Date: Thu, 16 Feb 2023 10:33:00 +0000 Message-Id: <20230216103300.360016-10-lucas.tanure@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230216103300.360016-1-lucas.tanure@collabora.com> References: <20230216103300.360016-1-lucas.tanure@collabora.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" Include cs35l41 in structs names so future platforms can be added and reference the correct sound card Signed-off-by: Lucas Tanure --- sound/soc/amd/vangogh/acp5x-mach.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sound/soc/amd/vangogh/acp5x-mach.c b/sound/soc/amd/vangogh/acp= 5x-mach.c index 74c7b267dcfd..129cadcdf468 100644 --- a/sound/soc/amd/vangogh/acp5x-mach.c +++ b/sound/soc/amd/vangogh/acp5x-mach.c @@ -251,7 +251,7 @@ static struct snd_soc_codec_conf cs35l41_conf[] =3D { SND_SOC_DAILINK_DEF(cs35l41, DAILINK_COMP_ARRAY(COMP_CODEC(CS35L41_LNAME, = CS35L41_DAI), COMP_CODEC(CS35L41_RNAME, CS35L41_DAI))); =20 -static struct snd_soc_dai_link acp5x_dai[] =3D { +static struct snd_soc_dai_link acp5x_8821_35l41_dai[] =3D { { .name =3D "acp5x-8821-play", .stream_name =3D "Playback/Capture", @@ -273,7 +273,7 @@ static struct snd_soc_dai_link acp5x_dai[] =3D { }, }; =20 -static const struct snd_soc_dapm_widget acp5x_8821_widgets[] =3D { +static const struct snd_soc_dapm_widget acp5x_8821_35l41_widgets[] =3D { SND_SOC_DAPM_HP("Headphone", NULL), SND_SOC_DAPM_MIC("Headset Mic", NULL), SND_SOC_DAPM_MIC("Int Mic", NULL), @@ -281,7 +281,7 @@ static const struct snd_soc_dapm_widget acp5x_8821_widg= ets[] =3D { platform_clock_control, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PM= D), }; =20 -static const struct snd_soc_dapm_route acp5x_8821_audio_route[] =3D { +static const struct snd_soc_dapm_route acp5x_8821_35l41_audio_route[] =3D { /* HP jack connectors - unknown if we have jack detection */ { "Headphone", NULL, "HPOL" }, { "Headphone", NULL, "HPOR" }, @@ -294,15 +294,15 @@ static const struct snd_soc_dapm_route acp5x_8821_aud= io_route[] =3D { { "Int Mic", NULL, "Platform Clock" }, }; =20 -static struct snd_soc_card acp5x_card =3D { +static struct snd_soc_card acp5x_8821_35l41_card =3D { .name =3D "acp5x", .owner =3D THIS_MODULE, - .dai_link =3D acp5x_dai, - .num_links =3D ARRAY_SIZE(acp5x_dai), - .dapm_widgets =3D acp5x_8821_widgets, - .num_dapm_widgets =3D ARRAY_SIZE(acp5x_8821_widgets), - .dapm_routes =3D acp5x_8821_audio_route, - .num_dapm_routes =3D ARRAY_SIZE(acp5x_8821_audio_route), + .dai_link =3D acp5x_8821_35l41_dai, + .num_links =3D ARRAY_SIZE(acp5x_8821_35l41_dai), + .dapm_widgets =3D acp5x_8821_35l41_widgets, + .num_dapm_widgets =3D ARRAY_SIZE(acp5x_8821_35l41_widgets), + .dapm_routes =3D acp5x_8821_35l41_audio_route, + .num_dapm_routes =3D ARRAY_SIZE(acp5x_8821_35l41_audio_route), .codec_conf =3D cs35l41_conf, .num_configs =3D ARRAY_SIZE(cs35l41_conf), .controls =3D acp5x_8821_controls, @@ -341,7 +341,7 @@ static int acp5x_probe(struct platform_device *pdev) dmi_check_system(acp5x_vg_quirk_table); switch (acp5x_machine_id) { case VG_JUPITER: - card =3D &acp5x_card; + card =3D &acp5x_8821_35l41_card; break; default: return -ENODEV; --=20 2.39.2