* [PATCH 00/17] ASoC: Intel: avs: Adjust platform names
@ 2025-09-02 9:48 Cezary Rojewski
2025-09-02 9:48 ` [PATCH 01/17] ASoC: Intel: avs: hda: Adjust platform name Cezary Rojewski
` (19 more replies)
0 siblings, 20 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
This series is a direct follow up to the recent
machine-board-registration changes [1]. Initially, a number of smaller
patchsets were part of a bigger block of changes. My attempt to split
them up to make the review easier was unfortunately not successful [2].
The goal of this series is the same one as with [1] - allow for multiple
cards of the same type without workarounds or code duplications.
With the machine-board names being unique - thanks to
PLATFORM_DEVID_AUTO - platform component names shall be adjusted too so
that no misbindings happen.
In essence, majority of the changes can be summarized as: simplifying
card and dai_link initialization. Actions:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
- for the probe-board mach-context is dropped entirely. The panic [2] is
gone
[1]: https://lore.kernel.org/linux-sound/20250827142229.869139-1-cezary.rojewski@intel.com/
[2]: https://lore.kernel.org/linux-sound/20250829225532.GA400117@ax162/
Cezary Rojewski (17):
ASoC: Intel: avs: hda: Adjust platform name
ASoC: Intel: avs: da7219: Adjust platform name
ASoC: Intel: avs: dmic: Refactor dai_link creation
ASoC: Intel: avs: es8336: Adjust platform name
ASoC: Intel: avs: i2stest: Adjust platform name
ASoC: Intel: avs: max98357a: Adjust platform name
ASoC: Intel: avs: max98373: Adjust platform name
ASoC: Intel: avs: max98927: Adjust platform name
ASoC: Intel: avs: nau8825: Adjust platform name
ASoC: Intel: avs: probe: Refactor dai_link creation
ASoC: Intel: avs: rt274: Adjust platform name
ASoC: Intel: avs: rt286: Adjust platform name
ASoC: Intel: avs: rt298: Adjust platform name
ASoC: Intel: avs: rt5514: Adjust platform name
ASoC: Intel: avs: rt5663: Adjust platform name
ASoC: Intel: avs: rt5682: Adjust platform name
ASoC: Intel: avs: ssm4567: Adjust platform name
sound/soc/intel/avs/boards/da7219.c | 15 ++---
sound/soc/intel/avs/boards/dmic.c | 80 ++++++++++++++++----------
sound/soc/intel/avs/boards/es8336.c | 16 ++----
sound/soc/intel/avs/boards/hdaudio.c | 13 +++--
sound/soc/intel/avs/boards/i2s_test.c | 15 ++---
sound/soc/intel/avs/boards/max98357a.c | 15 ++---
sound/soc/intel/avs/boards/max98373.c | 15 ++---
sound/soc/intel/avs/boards/max98927.c | 15 ++---
sound/soc/intel/avs/boards/nau8825.c | 15 ++---
sound/soc/intel/avs/boards/probe.c | 53 ++++++++++-------
sound/soc/intel/avs/boards/rt274.c | 15 ++---
sound/soc/intel/avs/boards/rt286.c | 15 ++---
sound/soc/intel/avs/boards/rt298.c | 15 ++---
sound/soc/intel/avs/boards/rt5514.c | 15 ++---
sound/soc/intel/avs/boards/rt5663.c | 15 ++---
sound/soc/intel/avs/boards/rt5682.c | 15 ++---
sound/soc/intel/avs/boards/ssm4567.c | 15 ++---
17 files changed, 145 insertions(+), 212 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 01/17] ASoC: Intel: avs: hda: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 02/17] ASoC: Intel: avs: da7219: " Cezary Rojewski
` (18 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/hdaudio.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/sound/soc/intel/avs/boards/hdaudio.c b/sound/soc/intel/avs/boards/hdaudio.c
index 19b2255a8ac3..aec769e2396c 100644
--- a/sound/soc/intel/avs/boards/hdaudio.c
+++ b/sound/soc/intel/avs/boards/hdaudio.c
@@ -16,7 +16,7 @@
#include "../utils.h"
static int avs_create_dai_links(struct device *dev, struct hda_codec *codec, int pcm_count,
- const char *platform_name, struct snd_soc_dai_link **links)
+ struct snd_soc_dai_link **links)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -29,7 +29,7 @@ static int avs_create_dai_links(struct device *dev, struct hda_codec *codec, int
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
+ platform->name = dev_name(dev);
pcm = list_first_entry(&codec->pcm_list_head, struct hda_pcm, list);
for (i = 0; i < pcm_count; i++, pcm = list_next_entry(pcm, list)) {
@@ -142,7 +142,7 @@ static int avs_probing_link_init(struct snd_soc_pcm_runtime *rtm)
list_for_each_entry(pcm, &codec->pcm_list_head, list)
pcm_count++;
- ret = avs_create_dai_links(card->dev, codec, pcm_count, mach->mach_params.platform, &links);
+ ret = avs_create_dai_links(card->dev, codec, pcm_count, &links);
if (ret < 0) {
dev_err(card->dev, "create links failed: %d\n", ret);
return ret;
@@ -197,7 +197,7 @@ static int avs_hdaudio_probe(struct platform_device *pdev)
if (!binder->codecs->name)
return -ENOMEM;
- binder->platforms->name = mach->mach_params.platform;
+ binder->platforms->name = dev_name(dev);
binder->num_platforms = 1;
binder->codecs->dai_name = "codec-probing-DAI";
binder->num_codecs = 1;
@@ -207,7 +207,10 @@ static int avs_hdaudio_probe(struct platform_device *pdev)
return -ENOMEM;
if (pdata->obsolete_card_names) {
- card->name = binder->codecs->name;
+ card->name = devm_kasprintf(dev, GFP_KERNEL, "hdaudioB%dD%d", codec->bus->core.idx,
+ codec->core.addr);
+ if (!card->name)
+ return -ENOMEM;
} else {
card->driver_name = "avs_hdaudio";
if (hda_codec_is_display(codec))
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 02/17] ASoC: Intel: avs: da7219: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
2025-09-02 9:48 ` [PATCH 01/17] ASoC: Intel: avs: hda: Adjust platform name Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 03/17] ASoC: Intel: avs: dmic: Refactor dai_link creation Cezary Rojewski
` (17 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/da7219.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/da7219.c b/sound/soc/intel/avs/boards/da7219.c
index 3ef0db254142..6782dc7efae3 100644
--- a/sound/soc/intel/avs/boards/da7219.c
+++ b/sound/soc/intel/avs/boards/da7219.c
@@ -165,8 +165,8 @@ avs_da7219_be_fixup(struct snd_soc_pcm_runtime *runrime, struct snd_pcm_hw_param
return 0;
}
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -176,8 +176,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL, "SSP%d-Codec", ssp_port);
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
@@ -193,6 +191,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -218,18 +217,16 @@ static int avs_da7219_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct snd_soc_jack *jack;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -259,10 +256,6 @@ static int avs_da7219_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, jack);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 03/17] ASoC: Intel: avs: dmic: Refactor dai_link creation
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
2025-09-02 9:48 ` [PATCH 01/17] ASoC: Intel: avs: hda: Adjust platform name Cezary Rojewski
2025-09-02 9:48 ` [PATCH 02/17] ASoC: Intel: avs: da7219: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 04/17] ASoC: Intel: avs: es8336: Adjust platform name Cezary Rojewski
` (16 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
To allow for multiple instances of the card, move away from static
dai_link declaration.
While at it, simplify the code as the name of the platform component
matches the name of the card's platform_device:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/dmic.c | 80 +++++++++++++++++++------------
1 file changed, 49 insertions(+), 31 deletions(-)
diff --git a/sound/soc/intel/avs/boards/dmic.c b/sound/soc/intel/avs/boards/dmic.c
index a1448a98874d..bf6f580a5164 100644
--- a/sound/soc/intel/avs/boards/dmic.c
+++ b/sound/soc/intel/avs/boards/dmic.c
@@ -14,30 +14,6 @@
SND_SOC_DAILINK_DEF(dmic_pin, DAILINK_COMP_ARRAY(COMP_CPU("DMIC Pin")));
SND_SOC_DAILINK_DEF(dmic_wov_pin, DAILINK_COMP_ARRAY(COMP_CPU("DMIC WoV Pin")));
-SND_SOC_DAILINK_DEF(dmic_codec, DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec", "dmic-hifi")));
-/* Name overridden on probe */
-SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("")));
-
-static struct snd_soc_dai_link card_dai_links[] = {
- /* Back ends */
- {
- .name = "DMIC",
- .id = 0,
- .capture_only = 1,
- .nonatomic = 1,
- .no_pcm = 1,
- SND_SOC_DAILINK_REG(dmic_pin, dmic_codec, platform),
- },
- {
- .name = "DMIC WoV",
- .id = 1,
- .capture_only = 1,
- .nonatomic = 1,
- .no_pcm = 1,
- .ignore_suspend = 1,
- SND_SOC_DAILINK_REG(dmic_wov_pin, dmic_codec, platform),
- },
-};
static const struct snd_soc_dapm_widget card_widgets[] = {
SND_SOC_DAPM_MIC("SoC DMIC", NULL),
@@ -47,12 +23,56 @@ static const struct snd_soc_dapm_route card_routes[] = {
{"DMic", NULL, "SoC DMIC"},
};
+static int avs_create_dai_links(struct device *dev, const char *codec_name,
+ struct snd_soc_dai_link **links, int *num_links)
+{
+ struct snd_soc_dai_link_component *platform;
+ struct snd_soc_dai_link *dl;
+ const int num_dl = 2;
+
+ dl = devm_kcalloc(dev, num_dl, sizeof(*dl), GFP_KERNEL);
+ platform = devm_kzalloc(dev, sizeof(*platform), GFP_KERNEL);
+ if (!dl || !platform)
+ return -ENOMEM;
+
+ dl->codecs = devm_kzalloc(dev, sizeof(*dl->codecs), GFP_KERNEL);
+ if (!dl->codecs)
+ return -ENOMEM;
+
+ dl->codecs->name = devm_kstrdup(dev, codec_name, GFP_KERNEL);
+ dl->codecs->dai_name = devm_kasprintf(dev, GFP_KERNEL, "dmic-hifi");
+ if (!dl->codecs->name || !dl->codecs->dai_name)
+ return -ENOMEM;
+
+ platform->name = dev_name(dev);
+ dl[0].num_cpus = 1;
+ dl[0].num_codecs = 1;
+ dl[0].platforms = platform;
+ dl[0].num_platforms = 1;
+ dl[0].nonatomic = 1;
+ dl[0].no_pcm = 1;
+ dl[0].capture_only = 1;
+ memcpy(&dl[1], &dl[0], sizeof(*dl));
+
+ dl[0].name = "DMIC";
+ dl[0].cpus = dmic_pin;
+ dl[0].id = 0;
+ dl[1].name = "DMIC WoV";
+ dl[1].cpus = dmic_wov_pin;
+ dl[1].id = 1;
+ dl[1].ignore_suspend = 1;
+
+ *links = dl;
+ *num_links = num_dl;
+ return 0;
+}
+
static int avs_dmic_probe(struct platform_device *pdev)
{
+ struct device *dev = &pdev->dev;
struct snd_soc_acpi_mach *mach;
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
- struct device *dev = &pdev->dev;
int ret;
mach = dev_get_platdata(dev);
@@ -62,6 +82,10 @@ static int avs_dmic_probe(struct platform_device *pdev)
if (!card)
return -ENOMEM;
+ ret = avs_create_dai_links(dev, pdata->codec_name, &card->dai_link, &card->num_links);
+ if (ret)
+ return ret;
+
if (pdata->obsolete_card_names) {
card->name = "avs_dmic";
} else {
@@ -70,18 +94,12 @@ static int avs_dmic_probe(struct platform_device *pdev)
}
card->dev = dev;
card->owner = THIS_MODULE;
- card->dai_link = card_dai_links;
- card->num_links = ARRAY_SIZE(card_dai_links);
card->dapm_widgets = card_widgets;
card->num_dapm_widgets = ARRAY_SIZE(card_widgets);
card->dapm_routes = card_routes;
card->num_dapm_routes = ARRAY_SIZE(card_routes);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, mach->mach_params.platform);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 04/17] ASoC: Intel: avs: es8336: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (2 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 03/17] ASoC: Intel: avs: dmic: Refactor dai_link creation Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 05/17] ASoC: Intel: avs: i2stest: " Cezary Rojewski
` (15 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/es8336.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/es8336.c b/sound/soc/intel/avs/boards/es8336.c
index 1955f2d383c5..12e4e0aba5fa 100644
--- a/sound/soc/intel/avs/boards/es8336.c
+++ b/sound/soc/intel/avs/boards/es8336.c
@@ -195,8 +195,9 @@ static int avs_es8336_be_fixup(struct snd_soc_pcm_runtime *runtime,
return 0;
}
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -206,8 +207,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -222,6 +221,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -263,18 +263,16 @@ static int avs_es8336_probe(struct platform_device *pdev)
struct avs_card_drvdata *data;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -306,10 +304,6 @@ static int avs_es8336_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, data);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 05/17] ASoC: Intel: avs: i2stest: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (3 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 04/17] ASoC: Intel: avs: es8336: Adjust platform name Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 06/17] ASoC: Intel: avs: max98357a: " Cezary Rojewski
` (14 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/i2s_test.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/i2s_test.c b/sound/soc/intel/avs/boards/i2s_test.c
index f7b6d7715738..9a6b89ffdf14 100644
--- a/sound/soc/intel/avs/boards/i2s_test.c
+++ b/sound/soc/intel/avs/boards/i2s_test.c
@@ -14,8 +14,8 @@
#include <sound/soc-dapm.h>
#include "../utils.h"
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -25,8 +25,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -39,6 +37,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -59,11 +58,9 @@ static int avs_i2s_test_probe(struct platform_device *pdev)
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
if (!avs_mach_singular_ssp(mach)) {
@@ -94,7 +91,7 @@ static int avs_i2s_test_probe(struct platform_device *pdev)
if (!card->name)
return -ENOMEM;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d\n", ret);
return ret;
@@ -106,10 +103,6 @@ static int avs_i2s_test_probe(struct platform_device *pdev)
card->num_links = 1;
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 06/17] ASoC: Intel: avs: max98357a: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (4 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 05/17] ASoC: Intel: avs: i2stest: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 07/17] ASoC: Intel: avs: max98373: " Cezary Rojewski
` (13 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/max98357a.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/max98357a.c b/sound/soc/intel/avs/boards/max98357a.c
index 72053f83e98b..e9a87804f918 100644
--- a/sound/soc/intel/avs/boards/max98357a.c
+++ b/sound/soc/intel/avs/boards/max98357a.c
@@ -46,8 +46,8 @@ avs_max98357a_be_fixup(struct snd_soc_pcm_runtime *runrime, struct snd_pcm_hw_pa
return 0;
}
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -57,8 +57,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -73,6 +71,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -96,18 +95,16 @@ static int avs_max98357a_probe(struct platform_device *pdev)
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -135,10 +132,6 @@ static int avs_max98357a_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(card_base_routes);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 07/17] ASoC: Intel: avs: max98373: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (5 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 06/17] ASoC: Intel: avs: max98357a: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 08/17] ASoC: Intel: avs: max98927: " Cezary Rojewski
` (12 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/max98373.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/max98373.c b/sound/soc/intel/avs/boards/max98373.c
index cdba1c3ee20b..8b45b643ca29 100644
--- a/sound/soc/intel/avs/boards/max98373.c
+++ b/sound/soc/intel/avs/boards/max98373.c
@@ -95,8 +95,8 @@ static const struct snd_soc_ops avs_max98373_ops = {
.hw_params = avs_max98373_hw_params,
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -106,8 +106,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -125,6 +123,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
!dl->codecs[1].name || !dl->codecs[1].dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 2;
dl->platforms = platform;
@@ -149,18 +148,16 @@ static int avs_max98373_probe(struct platform_device *pdev)
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -190,10 +187,6 @@ static int avs_max98373_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(card_base_routes);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 08/17] ASoC: Intel: avs: max98927: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (6 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 07/17] ASoC: Intel: avs: max98373: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 09/17] ASoC: Intel: avs: nau8825: " Cezary Rojewski
` (11 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/max98927.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/max98927.c b/sound/soc/intel/avs/boards/max98927.c
index a68e227044c5..db073125fa4d 100644
--- a/sound/soc/intel/avs/boards/max98927.c
+++ b/sound/soc/intel/avs/boards/max98927.c
@@ -92,8 +92,8 @@ static const struct snd_soc_ops avs_max98927_ops = {
.hw_params = avs_max98927_hw_params,
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -103,8 +103,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -122,6 +120,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
!dl->codecs[1].name || !dl->codecs[1].dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 2;
dl->platforms = platform;
@@ -146,18 +145,16 @@ static int avs_max98927_probe(struct platform_device *pdev)
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -187,10 +184,6 @@ static int avs_max98927_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(card_base_routes);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 09/17] ASoC: Intel: avs: nau8825: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (7 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 08/17] ASoC: Intel: avs: max98927: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 10/17] ASoC: Intel: avs: probe: Refactor dai_link creation Cezary Rojewski
` (10 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/nau8825.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/nau8825.c b/sound/soc/intel/avs/boards/nau8825.c
index 3fb1a5d07ae1..9ca400a6412e 100644
--- a/sound/soc/intel/avs/boards/nau8825.c
+++ b/sound/soc/intel/avs/boards/nau8825.c
@@ -172,8 +172,8 @@ static const struct snd_soc_ops avs_nau8825_ops = {
.trigger = avs_nau8825_trigger,
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -183,8 +183,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -199,6 +197,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -250,18 +249,16 @@ static int avs_nau8825_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct snd_soc_jack *jack;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -293,10 +290,6 @@ static int avs_nau8825_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, jack);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 10/17] ASoC: Intel: avs: probe: Refactor dai_link creation
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (8 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 09/17] ASoC: Intel: avs: nau8825: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 11/17] ASoC: Intel: avs: rt274: Adjust platform name Cezary Rojewski
` (9 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
To allow for multiple instances of the card, move away from static
dai_link declaration.
While at it, simplify the code as the name of the platform component
matches the name of the card's platform_device:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/probe.c | 53 +++++++++++++++++-------------
1 file changed, 31 insertions(+), 22 deletions(-)
diff --git a/sound/soc/intel/avs/boards/probe.c b/sound/soc/intel/avs/boards/probe.c
index 06c1f19f27aa..73884f8a535c 100644
--- a/sound/soc/intel/avs/boards/probe.c
+++ b/sound/soc/intel/avs/boards/probe.c
@@ -9,45 +9,54 @@
#include <linux/device.h>
#include <linux/module.h>
#include <sound/soc.h>
-#include <sound/soc-acpi.h>
-
-SND_SOC_DAILINK_DEF(dummy, DAILINK_COMP_ARRAY(COMP_DUMMY()));
-SND_SOC_DAILINK_DEF(probe_cp, DAILINK_COMP_ARRAY(COMP_CPU("Probe Extraction CPU DAI")));
-SND_SOC_DAILINK_DEF(platform, DAILINK_COMP_ARRAY(COMP_PLATFORM("probe-platform")));
-
-static struct snd_soc_dai_link probe_mb_dai_links[] = {
- {
- .name = "Compress Probe Capture",
- .nonatomic = 1,
- SND_SOC_DAILINK_REG(probe_cp, dummy, platform),
- },
-};
+
+static int avs_create_dai_links(struct device *dev, struct snd_soc_dai_link **links, int *num_links)
+{
+ struct snd_soc_dai_link *dl;
+
+ dl = devm_kzalloc(dev, sizeof(*dl), GFP_KERNEL);
+ if (!dl)
+ return -ENOMEM;
+
+ dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
+ dl->platforms = devm_kzalloc(dev, sizeof(*dl->platforms), GFP_KERNEL);
+ if (!dl->cpus || !dl->platforms)
+ return -ENOMEM;
+
+ dl->name = "Compress Probe Capture";
+ dl->cpus->dai_name = "Probe Extraction CPU DAI";
+ dl->num_cpus = 1;
+ dl->codecs = &snd_soc_dummy_dlc;
+ dl->num_codecs = 1;
+ dl->platforms->name = dev_name(dev);
+ dl->num_platforms = 1;
+ dl->nonatomic = 1;
+
+ *links = dl;
+ *num_links = 1;
+ return 0;
+}
static int avs_probe_mb_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct snd_soc_acpi_mach *mach;
struct snd_soc_card *card;
int ret;
- mach = dev_get_platdata(dev);
-
card = devm_kzalloc(dev, sizeof(*card), GFP_KERNEL);
if (!card)
return -ENOMEM;
+ ret = avs_create_dai_links(dev, &card->dai_link, &card->num_links);
+ if (ret)
+ return ret;
+
card->driver_name = "avs_probe_mb";
card->long_name = card->name = "AVS PROBE";
card->dev = dev;
card->owner = THIS_MODULE;
- card->dai_link = probe_mb_dai_links;
- card->num_links = ARRAY_SIZE(probe_mb_dai_links);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, mach->mach_params.platform);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 11/17] ASoC: Intel: avs: rt274: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (9 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 10/17] ASoC: Intel: avs: probe: Refactor dai_link creation Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 12/17] ASoC: Intel: avs: rt286: " Cezary Rojewski
` (8 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/rt274.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/rt274.c b/sound/soc/intel/avs/boards/rt274.c
index ec5382925157..67d2c4585cdd 100644
--- a/sound/soc/intel/avs/boards/rt274.c
+++ b/sound/soc/intel/avs/boards/rt274.c
@@ -147,8 +147,8 @@ static int avs_rt274_be_fixup(struct snd_soc_pcm_runtime *runtime, struct snd_pc
return 0;
}
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -158,8 +158,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -174,6 +172,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -214,18 +213,16 @@ static int avs_rt274_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct snd_soc_jack *jack;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -257,10 +254,6 @@ static int avs_rt274_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, jack);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 12/17] ASoC: Intel: avs: rt286: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (10 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 11/17] ASoC: Intel: avs: rt274: Adjust platform name Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 13/17] ASoC: Intel: avs: rt298: " Cezary Rojewski
` (7 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/rt286.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/rt286.c b/sound/soc/intel/avs/boards/rt286.c
index 2566e971ce1c..4c9ac545555a 100644
--- a/sound/soc/intel/avs/boards/rt286.c
+++ b/sound/soc/intel/avs/boards/rt286.c
@@ -115,8 +115,8 @@ static const struct snd_soc_ops avs_rt286_ops = {
.hw_params = avs_rt286_hw_params,
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -126,8 +126,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -142,6 +140,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -183,18 +182,16 @@ static int avs_rt286_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct snd_soc_jack *jack;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
@@ -227,10 +224,6 @@ static int avs_rt286_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, jack);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 13/17] ASoC: Intel: avs: rt298: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (11 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 12/17] ASoC: Intel: avs: rt286: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 14/17] ASoC: Intel: avs: rt5514: " Cezary Rojewski
` (6 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/rt298.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/rt298.c b/sound/soc/intel/avs/boards/rt298.c
index 7be34c8ad167..2d7a7748d577 100644
--- a/sound/soc/intel/avs/boards/rt298.c
+++ b/sound/soc/intel/avs/boards/rt298.c
@@ -132,8 +132,8 @@ static const struct snd_soc_ops avs_rt298_ops = {
.hw_params = avs_rt298_hw_params,
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -143,8 +143,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -159,6 +157,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -203,18 +202,16 @@ static int avs_rt298_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct snd_soc_jack *jack;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -246,10 +243,6 @@ static int avs_rt298_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, jack);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 14/17] ASoC: Intel: avs: rt5514: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (12 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 13/17] ASoC: Intel: avs: rt298: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 15/17] ASoC: Intel: avs: rt5663: " Cezary Rojewski
` (5 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/rt5514.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/rt5514.c b/sound/soc/intel/avs/boards/rt5514.c
index 45f091f2ce22..00b99e36d23c 100644
--- a/sound/soc/intel/avs/boards/rt5514.c
+++ b/sound/soc/intel/avs/boards/rt5514.c
@@ -84,8 +84,8 @@ static const struct snd_soc_ops avs_rt5514_ops = {
.hw_params = avs_rt5514_hw_params,
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -95,8 +95,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -111,6 +109,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -136,18 +135,16 @@ static int avs_rt5514_probe(struct platform_device *pdev)
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -173,10 +170,6 @@ static int avs_rt5514_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(card_base_routes);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 15/17] ASoC: Intel: avs: rt5663: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (13 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 14/17] ASoC: Intel: avs: rt5514: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 16/17] ASoC: Intel: avs: rt5682: " Cezary Rojewski
` (4 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/rt5663.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/rt5663.c b/sound/soc/intel/avs/boards/rt5663.c
index 51648801710a..68fea325376a 100644
--- a/sound/soc/intel/avs/boards/rt5663.c
+++ b/sound/soc/intel/avs/boards/rt5663.c
@@ -134,8 +134,8 @@ static const struct snd_soc_ops avs_rt5663_ops = {
};
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -145,8 +145,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -161,6 +159,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -202,18 +201,16 @@ static int avs_rt5663_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct rt5663_private *priv;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -245,10 +242,6 @@ static int avs_rt5663_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, priv);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 16/17] ASoC: Intel: avs: rt5682: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (14 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 15/17] ASoC: Intel: avs: rt5663: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 9:48 ` [PATCH 17/17] ASoC: Intel: avs: ssm4567: " Cezary Rojewski
` (3 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/rt5682.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/rt5682.c b/sound/soc/intel/avs/boards/rt5682.c
index 9677b9ebeff1..81863728da1d 100644
--- a/sound/soc/intel/avs/boards/rt5682.c
+++ b/sound/soc/intel/avs/boards/rt5682.c
@@ -204,8 +204,8 @@ avs_rt5682_be_fixup(struct snd_soc_pcm_runtime *runtime, struct snd_pcm_hw_param
return 0;
}
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -215,8 +215,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -231,6 +229,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl->cpus->dai_name || !dl->codecs->name || !dl->codecs->dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 1;
dl->platforms = platform;
@@ -272,7 +271,6 @@ static int avs_rt5682_probe(struct platform_device *pdev)
struct snd_soc_card *card;
struct snd_soc_jack *jack;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
if (pdev->id_entry && pdev->id_entry->driver_data)
@@ -282,14 +280,13 @@ static int avs_rt5682_probe(struct platform_device *pdev)
dev_dbg(dev, "avs_rt5682_quirk = %lx\n", avs_rt5682_quirk);
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -321,10 +318,6 @@ static int avs_rt5682_probe(struct platform_device *pdev)
card->fully_routed = true;
snd_soc_card_set_drvdata(card, jack);
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 17/17] ASoC: Intel: avs: ssm4567: Adjust platform name
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (15 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 16/17] ASoC: Intel: avs: rt5682: " Cezary Rojewski
@ 2025-09-02 9:48 ` Cezary Rojewski
2025-09-02 21:20 ` [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Nathan Chancellor
` (2 subsequent siblings)
19 siblings, 0 replies; 22+ messages in thread
From: Cezary Rojewski @ 2025-09-02 9:48 UTC (permalink / raw)
To: broonie
Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound,
Cezary Rojewski
The name of the platform component matches the name of the card's
platform_device.
This allows for simplifying card and dai_link initialization:
- drop mach->mach_params.platform usage
- drop snd_soc_fixup_dai_links_platform_name() usage
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
sound/soc/intel/avs/boards/ssm4567.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/sound/soc/intel/avs/boards/ssm4567.c b/sound/soc/intel/avs/boards/ssm4567.c
index 3786eef8c494..ae0e6e27a8b8 100644
--- a/sound/soc/intel/avs/boards/ssm4567.c
+++ b/sound/soc/intel/avs/boards/ssm4567.c
@@ -81,8 +81,8 @@ avs_ssm4567_be_fixup(struct snd_soc_pcm_runtime *runrime, struct snd_pcm_hw_para
return 0;
}
-static int avs_create_dai_link(struct device *dev, const char *platform_name, int ssp_port,
- int tdm_slot, struct snd_soc_dai_link **dai_link)
+static int avs_create_dai_link(struct device *dev, int ssp_port, int tdm_slot,
+ struct snd_soc_dai_link **dai_link)
{
struct snd_soc_dai_link_component *platform;
struct snd_soc_dai_link *dl;
@@ -92,8 +92,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
if (!dl || !platform)
return -ENOMEM;
- platform->name = platform_name;
-
dl->name = devm_kasprintf(dev, GFP_KERNEL,
AVS_STRING_FMT("SSP", "-Codec", ssp_port, tdm_slot));
dl->cpus = devm_kzalloc(dev, sizeof(*dl->cpus), GFP_KERNEL);
@@ -111,6 +109,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
!dl->codecs[1].name || !dl->codecs[1].dai_name)
return -ENOMEM;
+ platform->name = dev_name(dev);
dl->num_cpus = 1;
dl->num_codecs = 2;
dl->platforms = platform;
@@ -135,18 +134,16 @@ static int avs_ssm4567_probe(struct platform_device *pdev)
struct avs_mach_pdata *pdata;
struct snd_soc_card *card;
struct device *dev = &pdev->dev;
- const char *pname;
int ssp_port, tdm_slot, ret;
mach = dev_get_platdata(dev);
- pname = mach->mach_params.platform;
pdata = mach->pdata;
ret = avs_mach_get_ssp_tdm(dev, mach, &ssp_port, &tdm_slot);
if (ret)
return ret;
- ret = avs_create_dai_link(dev, pname, ssp_port, tdm_slot, &dai_link);
+ ret = avs_create_dai_link(dev, ssp_port, tdm_slot, &dai_link);
if (ret) {
dev_err(dev, "Failed to create dai link: %d", ret);
return ret;
@@ -176,10 +173,6 @@ static int avs_ssm4567_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(card_base_routes);
card->fully_routed = true;
- ret = snd_soc_fixup_dai_links_platform_name(card, pname);
- if (ret)
- return ret;
-
return devm_snd_soc_register_deferrable_card(dev, card);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 00/17] ASoC: Intel: avs: Adjust platform names
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (16 preceding siblings ...)
2025-09-02 9:48 ` [PATCH 17/17] ASoC: Intel: avs: ssm4567: " Cezary Rojewski
@ 2025-09-02 21:20 ` Nathan Chancellor
2025-09-03 10:58 ` Mark Brown
2025-09-03 18:53 ` Mark Brown
19 siblings, 0 replies; 22+ messages in thread
From: Nathan Chancellor @ 2025-09-02 21:20 UTC (permalink / raw)
To: Cezary Rojewski; +Cc: broonie, tiwai, perex, amadeuszx.slawinski, linux-sound
On Tue, Sep 02, 2025 at 11:48:36AM +0200, Cezary Rojewski wrote:
...
> - for the probe-board mach-context is dropped entirely. The panic [2] is
> gone
>
> [2]: https://lore.kernel.org/linux-sound/20250829225532.GA400117@ax162/
Can confirm, I applied this on top of next-20250902 and there was no
crash on boot.
Cheers,
Nathan
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/17] ASoC: Intel: avs: Adjust platform names
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (17 preceding siblings ...)
2025-09-02 21:20 ` [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Nathan Chancellor
@ 2025-09-03 10:58 ` Mark Brown
2025-09-03 11:02 ` Amadeusz Sławiński
2025-09-03 18:53 ` Mark Brown
19 siblings, 1 reply; 22+ messages in thread
From: Mark Brown @ 2025-09-03 10:58 UTC (permalink / raw)
To: Cezary Rojewski; +Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound
[-- Attachment #1: Type: text/plain, Size: 376 bytes --]
On Tue, Sep 02, 2025 at 11:48:36AM +0200, Cezary Rojewski wrote:
> This series is a direct follow up to the recent
> machine-board-registration changes [1]. Initially, a number of smaller
> patchsets were part of a bigger block of changes. My attempt to split
> them up to make the review easier was unfortunately not successful [2].
Amadeusz, are you OK with these changes?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/17] ASoC: Intel: avs: Adjust platform names
2025-09-03 10:58 ` Mark Brown
@ 2025-09-03 11:02 ` Amadeusz Sławiński
0 siblings, 0 replies; 22+ messages in thread
From: Amadeusz Sławiński @ 2025-09-03 11:02 UTC (permalink / raw)
To: Mark Brown, Cezary Rojewski; +Cc: tiwai, perex, nathan, linux-sound
On 2025-09-03 12:58, Mark Brown wrote:
> On Tue, Sep 02, 2025 at 11:48:36AM +0200, Cezary Rojewski wrote:
>> This series is a direct follow up to the recent
>> machine-board-registration changes [1]. Initially, a number of smaller
>> patchsets were part of a bigger block of changes. My attempt to split
>> them up to make the review easier was unfortunately not successful [2].
>
> Amadeusz, are you OK with these changes?
Yes, I'm fine with them.
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/17] ASoC: Intel: avs: Adjust platform names
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
` (18 preceding siblings ...)
2025-09-03 10:58 ` Mark Brown
@ 2025-09-03 18:53 ` Mark Brown
19 siblings, 0 replies; 22+ messages in thread
From: Mark Brown @ 2025-09-03 18:53 UTC (permalink / raw)
To: Cezary Rojewski; +Cc: tiwai, perex, amadeuszx.slawinski, nathan, linux-sound
On Tue, 02 Sep 2025 11:48:36 +0200, Cezary Rojewski wrote:
> This series is a direct follow up to the recent
> machine-board-registration changes [1]. Initially, a number of smaller
> patchsets were part of a bigger block of changes. My attempt to split
> them up to make the review easier was unfortunately not successful [2].
>
> The goal of this series is the same one as with [1] - allow for multiple
> cards of the same type without workarounds or code duplications.
> With the machine-board names being unique - thanks to
> PLATFORM_DEVID_AUTO - platform component names shall be adjusted too so
> that no misbindings happen.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[01/17] ASoC: Intel: avs: hda: Adjust platform name
commit: 0e3448f069646a72698b6f4933baf43daf92a9c0
[02/17] ASoC: Intel: avs: da7219: Adjust platform name
commit: 7fa2ebe9b7f4a865030e6ea9be33635b4c1b9224
[03/17] ASoC: Intel: avs: dmic: Refactor dai_link creation
commit: 765ee69f5e237c33795a0b51417f68ce59fd31a1
[04/17] ASoC: Intel: avs: es8336: Adjust platform name
commit: cd405e6a949723c4b35c44e8b60e7139aa6e3743
[05/17] ASoC: Intel: avs: i2stest: Adjust platform name
commit: d4b60caaef0cb8d23528ef17991bf9abae1ccff7
[06/17] ASoC: Intel: avs: max98357a: Adjust platform name
commit: 314d8f574ae0c8f23f3225e0c75388ef8c565295
[07/17] ASoC: Intel: avs: max98373: Adjust platform name
commit: ed23ac9b300b809616dcfc63765aa5a33af38041
[08/17] ASoC: Intel: avs: max98927: Adjust platform name
commit: 31fc544ad8db01e58d671a5c4ec77b211bde3523
[09/17] ASoC: Intel: avs: nau8825: Adjust platform name
commit: ba3684328208129d1d72ec50c417bc8a9213d4c5
[10/17] ASoC: Intel: avs: probe: Refactor dai_link creation
commit: a46b3da24cdce85b7fca6f012f68b3857494ade6
[11/17] ASoC: Intel: avs: rt274: Adjust platform name
commit: 1a78108293dfe421255ee0abd69ef73e5c68539a
[12/17] ASoC: Intel: avs: rt286: Adjust platform name
commit: 210233c24d248e69b5309d651ab4b1021c6631e7
[13/17] ASoC: Intel: avs: rt298: Adjust platform name
commit: fffac55850d20c81f386938b4fa29e13cdf66b99
[14/17] ASoC: Intel: avs: rt5514: Adjust platform name
commit: 69fe78271da6d7a8d43edd1797c245d22449256c
[15/17] ASoC: Intel: avs: rt5663: Adjust platform name
commit: b0e52296aa83bdbed0130ff89948bbb0ef1ee024
[16/17] ASoC: Intel: avs: rt5682: Adjust platform name
commit: 6c402acec635969f2a48ff642b84f2eac0054175
[17/17] ASoC: Intel: avs: ssm4567: Adjust platform name
commit: ce57b718006a069226b5e5d3afe7969acd59154e
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2025-09-03 18:53 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 9:48 [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Cezary Rojewski
2025-09-02 9:48 ` [PATCH 01/17] ASoC: Intel: avs: hda: Adjust platform name Cezary Rojewski
2025-09-02 9:48 ` [PATCH 02/17] ASoC: Intel: avs: da7219: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 03/17] ASoC: Intel: avs: dmic: Refactor dai_link creation Cezary Rojewski
2025-09-02 9:48 ` [PATCH 04/17] ASoC: Intel: avs: es8336: Adjust platform name Cezary Rojewski
2025-09-02 9:48 ` [PATCH 05/17] ASoC: Intel: avs: i2stest: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 06/17] ASoC: Intel: avs: max98357a: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 07/17] ASoC: Intel: avs: max98373: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 08/17] ASoC: Intel: avs: max98927: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 09/17] ASoC: Intel: avs: nau8825: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 10/17] ASoC: Intel: avs: probe: Refactor dai_link creation Cezary Rojewski
2025-09-02 9:48 ` [PATCH 11/17] ASoC: Intel: avs: rt274: Adjust platform name Cezary Rojewski
2025-09-02 9:48 ` [PATCH 12/17] ASoC: Intel: avs: rt286: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 13/17] ASoC: Intel: avs: rt298: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 14/17] ASoC: Intel: avs: rt5514: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 15/17] ASoC: Intel: avs: rt5663: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 16/17] ASoC: Intel: avs: rt5682: " Cezary Rojewski
2025-09-02 9:48 ` [PATCH 17/17] ASoC: Intel: avs: ssm4567: " Cezary Rojewski
2025-09-02 21:20 ` [PATCH 00/17] ASoC: Intel: avs: Adjust platform names Nathan Chancellor
2025-09-03 10:58 ` Mark Brown
2025-09-03 11:02 ` Amadeusz Sławiński
2025-09-03 18:53 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox