Linux Sound subsystem development
 help / color / mirror / Atom feed
* [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free()
@ 2026-03-04  6:22 Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 01/29] " Kuninori Morimoto
                   ` (28 more replies)
  0 siblings, 29 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound


Hi Mark

Because old pcm_new()/pcm_free() didn't care about parameter component,
to avoid name collisions, we have added pcm_construct()/pcm_destruct() by
commit c64bfc9066007 ("ASoC: soc-core: add new pcm_construct/pcm_destruct")

Because all driver switch to new pcm_construct()/pcm_destruct(), old
pcm_new()/pcm_free() were remoted by commit e9067bb502787 ("ASoC:
soc-component: remove snd_pcm_ops from component driver")

But naming of pcm_construct()/pcm_destruct() are not goot. re-add
pcm_new()/pcm_free(), and switch to use it, again.

Because it has no functional significance, 1 patch is for 1 vender.

Kuninori Morimoto (29):
  ASoC: soc-component: re-add pcm_new()/pcm_free()
  ASoC: amd: name back to pcm_new()/pcm_free()
  ASoC: apple: name back to pcm_new()/pcm_free()
  ASoC: atmel: name back to pcm_new()/pcm_free()
  ASoC: au1x: name back to pcm_new()/pcm_free()
  ASoC: bcm: name back to pcm_new()/pcm_free()
  ASoC: codecs: cros_ec_codec: name back to pcm_new()/pcm_free()
  ASoC: codecs: rt5xxx-spi: name back to pcm_new()/pcm_free()
  ASoC: dwc: name back to pcm_new()/pcm_free()
  ASoC: fsl: name back to pcm_new()/pcm_free()
  ASoC: generic: name back to pcm_new()/pcm_free()
  ASoC: google: name back to pcm_new()/pcm_free()
  ASoC: intel: name back to pcm_new()/pcm_free()
  ASoC: kirkwood: name back to pcm_new()/pcm_free()
  ASoC: loongson: name back to pcm_new()/pcm_free()
  ASoC: mediatek: name back to pcm_new()/pcm_free()
  ASoC: pxa: name back to pcm_new()/pcm_free()
  ASoC: qcom: name back to pcm_new()/pcm_free()
  ASoC: renesas: name back to pcm_new()/pcm_free()
  ASoC: samsung: name back to pcm_new()/pcm_free()
  ASoC: soc-generic-dmaengine-pcm: name back to pcm_new()/pcm_free()
  ASoC: sof: name back to pcm_new()/pcm_free()
  ASoC: sprd: name back to pcm_new()/pcm_free()
  ASoC: stm: name back to pcm_new()/pcm_free()
  ASoC: tegra: name back to pcm_new()/pcm_free()
  ASoC: uniphier: name back to pcm_new()/pcm_free()
  ASoC: xilinx: name back to pcm_new()/pcm_free()
  ASoC: xtensa: name back to pcm_new()/pcm_free()
  ASoC: soc-component: remove pcm_construct()/pcm_destruct()

 include/sound/soc-component.h                       |  8 ++++----
 sound/soc/amd/acp-pcm-dma.c                         |  2 +-
 sound/soc/amd/acp/acp-platform.c                    |  2 +-
 sound/soc/amd/ps/ps-pdm-dma.c                       |  2 +-
 sound/soc/amd/ps/ps-sdw-dma.c                       |  2 +-
 sound/soc/amd/raven/acp3x-pcm-dma.c                 |  2 +-
 sound/soc/amd/renoir/acp3x-pdm-dma.c                |  2 +-
 sound/soc/amd/vangogh/acp5x-pcm-dma.c               |  2 +-
 sound/soc/amd/yc/acp6x-pdm-dma.c                    |  2 +-
 sound/soc/apple/mca.c                               |  4 ++--
 sound/soc/atmel/atmel-pcm-pdc.c                     |  2 +-
 sound/soc/au1x/dbdma2.c                             |  2 +-
 sound/soc/au1x/dma.c                                |  2 +-
 sound/soc/bcm/bcm63xx-pcm-whistler.c                |  2 +-
 sound/soc/bcm/cygnus-pcm.c                          |  2 +-
 sound/soc/codecs/cros_ec_codec.c                    |  2 +-
 sound/soc/codecs/rt5514-spi.c                       |  2 +-
 sound/soc/codecs/rt5677-spi.c                       |  2 +-
 sound/soc/dwc/dwc-pcm.c                             |  2 +-
 sound/soc/fsl/fsl_asrc_dma.c                        |  2 +-
 sound/soc/fsl/fsl_dma.c                             |  2 +-
 sound/soc/fsl/fsl_qmc_audio.c                       |  6 +++---
 sound/soc/fsl/imx-pcm-fiq.c                         |  4 ++--
 sound/soc/fsl/imx-pcm-rpmsg.c                       |  2 +-
 sound/soc/fsl/mpc5200_dma.c                         |  2 +-
 sound/soc/generic/audio-graph-card.c                |  2 +-
 sound/soc/generic/test-component.c                  | 12 ++++++------
 sound/soc/google/chv3-i2s.c                         |  6 +++---
 sound/soc/intel/atom/sst-mfld-platform-pcm.c        |  2 +-
 sound/soc/intel/avs/pcm.c                           |  8 ++++----
 sound/soc/intel/catpt/pcm.c                         |  6 +++---
 sound/soc/intel/keembay/kmb_platform.c              |  2 +-
 sound/soc/kirkwood/kirkwood-dma.c                   |  2 +-
 sound/soc/loongson/loongson_dma.c                   |  2 +-
 sound/soc/mediatek/common/mtk-afe-platform-driver.c |  2 +-
 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c          |  2 +-
 sound/soc/mediatek/mt8189/mt8189-afe-pcm.c          |  4 ++--
 sound/soc/pxa/pxa-ssp.c                             |  2 +-
 sound/soc/pxa/pxa2xx-ac97.c                         |  2 +-
 sound/soc/pxa/pxa2xx-i2s.c                          |  2 +-
 sound/soc/pxa/pxa2xx-pcm.c                          |  2 +-
 sound/soc/qcom/lpass-platform.c                     |  2 +-
 sound/soc/qcom/qdsp6/q6apm-dai.c                    |  2 +-
 sound/soc/qcom/qdsp6/q6asm-dai.c                    |  2 +-
 sound/soc/renesas/dma-sh7760.c                      |  2 +-
 sound/soc/renesas/fsi.c                             |  2 +-
 sound/soc/renesas/rcar/msiof.c                      |  2 +-
 sound/soc/renesas/rz-ssi.c                          |  2 +-
 sound/soc/renesas/siu_pcm.c                         |  4 ++--
 sound/soc/samsung/idma.c                            |  4 ++--
 sound/soc/soc-component.c                           |  8 ++++----
 sound/soc/soc-generic-dmaengine-pcm.c               |  4 ++--
 sound/soc/sof/pcm.c                                 |  4 ++--
 sound/soc/sprd/sprd-pcm-dma.c                       |  2 +-
 sound/soc/stm/stm32_adfsdm.c                        |  2 +-
 sound/soc/tegra/tegra210_admaif.c                   |  6 +++---
 sound/soc/tegra/tegra_pcm.c                         |  6 +++---
 sound/soc/tegra/tegra_pcm.h                         |  4 ++--
 sound/soc/uniphier/aio-dma.c                        |  2 +-
 sound/soc/xilinx/xlnx_formatter_pcm.c               |  2 +-
 sound/soc/xtensa/xtfpga-i2s.c                       |  2 +-
 61 files changed, 93 insertions(+), 93 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH 01/29] ASoC: soc-component: re-add pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
@ 2026-03-04  6:22 ` Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 02/29] ASoC: amd: name back to pcm_new()/pcm_free() Kuninori Morimoto
                   ` (27 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

Because old pcm_new()/pcm_free() didn't care about parameter component,
to avoid name collisions, we have added pcm_construct()/pcm_destruct() by
commit c64bfc9066007 ("ASoC: soc-core: add new pcm_construct/pcm_destruct")

Because all driver switch to new pcm_construct()/pcm_destruct(), old
pcm_new()/pcm_free() were remoted by commit e9067bb502787 ("ASoC:
soc-component: remove snd_pcm_ops from component driver")

But naming of pcm_construct()/pcm_destruct() are not goot. re-add
pcm_new()/pcm_free(), and switch to use it, again.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 include/sound/soc-component.h        |  4 ++++
 sound/soc/generic/audio-graph-card.c |  1 +
 sound/soc/soc-component.c            | 10 +++++++++-
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h
index 2a2b74b24a609..0435ba376369a 100644
--- a/include/sound/soc-component.h
+++ b/include/sound/soc-component.h
@@ -90,6 +90,10 @@ struct snd_soc_component_driver {
 			     struct snd_soc_pcm_runtime *rtd);
 	void (*pcm_destruct)(struct snd_soc_component *component,
 			     struct snd_pcm *pcm);
+	int (*pcm_new)(struct snd_soc_component *component,
+		       struct snd_soc_pcm_runtime *rtd);
+	void (*pcm_free)(struct snd_soc_component *component,
+			 struct snd_pcm *pcm);
 
 	/* component wide operations */
 	int (*set_sysclk)(struct snd_soc_component *component,
diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
index 8a5f417047397..74e8f2ab7ffc9 100644
--- a/sound/soc/generic/audio-graph-card.c
+++ b/sound/soc/generic/audio-graph-card.c
@@ -77,6 +77,7 @@ static bool soc_component_is_pcm(struct snd_soc_dai_link_component *dlc)
 	struct snd_soc_dai *dai = snd_soc_find_dai_with_mutex(dlc);
 
 	if (dai && (dai->component->driver->pcm_construct ||
+		    dai->component->driver->pcm_new ||
 		    (dai->driver->ops && dai->driver->ops->pcm_new)))
 		return true;
 
diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c
index 89f236ab30341..77ad333839744 100644
--- a/sound/soc/soc-component.c
+++ b/sound/soc/soc-component.c
@@ -1042,6 +1042,11 @@ int snd_soc_pcm_component_new(struct snd_soc_pcm_runtime *rtd)
 			if (ret < 0)
 				return soc_component_ret(component, ret);
 		}
+		if (component->driver->pcm_new) {
+			ret = component->driver->pcm_new(component, rtd);
+			if (ret < 0)
+				return soc_component_ret(component, ret);
+		}
 	}
 
 	return 0;
@@ -1055,9 +1060,12 @@ void snd_soc_pcm_component_free(struct snd_soc_pcm_runtime *rtd)
 	if (!rtd->pcm)
 		return;
 
-	for_each_rtd_components(rtd, i, component)
+	for_each_rtd_components(rtd, i, component) {
 		if (component->driver->pcm_destruct)
 			component->driver->pcm_destruct(component, rtd->pcm);
+		if (component->driver->pcm_free)
+			component->driver->pcm_free(component, rtd->pcm);
+	}
 }
 
 int snd_soc_pcm_component_prepare(struct snd_pcm_substream *substream)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 02/29] ASoC: amd: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 01/29] " Kuninori Morimoto
@ 2026-03-04  6:22 ` Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 03/29] ASoC: apple: " Kuninori Morimoto
                   ` (26 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcm_destruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops fromcomponent driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/amd/acp-pcm-dma.c           | 2 +-
 sound/soc/amd/acp/acp-platform.c      | 2 +-
 sound/soc/amd/ps/ps-pdm-dma.c         | 2 +-
 sound/soc/amd/ps/ps-sdw-dma.c         | 2 +-
 sound/soc/amd/raven/acp3x-pcm-dma.c   | 2 +-
 sound/soc/amd/renoir/acp3x-pdm-dma.c  | 2 +-
 sound/soc/amd/vangogh/acp5x-pcm-dma.c | 2 +-
 sound/soc/amd/yc/acp6x-pdm-dma.c      | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c
index c76a4bcc96459..6ad70aa0ea837 100644
--- a/sound/soc/amd/acp-pcm-dma.c
+++ b/sound/soc/amd/acp-pcm-dma.c
@@ -1252,7 +1252,7 @@ static const struct snd_soc_component_driver acp_asoc_platform = {
 	.pointer	= acp_dma_pointer,
 	.delay		= acp_dma_delay,
 	.prepare	= acp_dma_prepare,
-	.pcm_construct	= acp_dma_new,
+	.pcm_new	= acp_dma_new,
 };
 
 static int acp_audio_probe(struct platform_device *pdev)
diff --git a/sound/soc/amd/acp/acp-platform.c b/sound/soc/amd/acp/acp-platform.c
index 88613569fd64f..6b1e18b31c1c6 100644
--- a/sound/soc/amd/acp/acp-platform.c
+++ b/sound/soc/amd/acp/acp-platform.c
@@ -321,7 +321,7 @@ static const struct snd_soc_component_driver acp_pcm_component = {
 	.close			= acp_dma_close,
 	.hw_params		= acp_dma_hw_params,
 	.pointer		= acp_dma_pointer,
-	.pcm_construct		= acp_dma_new,
+	.pcm_new		= acp_dma_new,
 	.legacy_dai_naming	= 1,
 };
 
diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c
index 7c529fc6ba997..c6cd844d458c8 100644
--- a/sound/soc/amd/ps/ps-pdm-dma.c
+++ b/sound/soc/amd/ps/ps-pdm-dma.c
@@ -351,7 +351,7 @@ static const struct snd_soc_component_driver acp63_pdm_component = {
 	.close		= acp63_pdm_dma_close,
 	.hw_params	= acp63_pdm_dma_hw_params,
 	.pointer	= acp63_pdm_dma_pointer,
-	.pcm_construct	= acp63_pdm_dma_new,
+	.pcm_new	= acp63_pdm_dma_new,
 };
 
 static int acp63_pdm_audio_probe(struct platform_device *pdev)
diff --git a/sound/soc/amd/ps/ps-sdw-dma.c b/sound/soc/amd/ps/ps-sdw-dma.c
index 366d7c4bb07e9..f27ebbd213798 100644
--- a/sound/soc/amd/ps/ps-sdw-dma.c
+++ b/sound/soc/amd/ps/ps-sdw-dma.c
@@ -634,7 +634,7 @@ static const struct snd_soc_component_driver acp63_sdw_component = {
 	.hw_params	= acp63_sdw_dma_hw_params,
 	.trigger	= acp63_sdw_dma_trigger,
 	.pointer	= acp63_sdw_dma_pointer,
-	.pcm_construct	= acp63_sdw_dma_new,
+	.pcm_new	= acp63_sdw_dma_new,
 	.use_dai_pcm_id = true,
 
 };
diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c
index 4529404ebd935..37ea5c572eb94 100644
--- a/sound/soc/amd/raven/acp3x-pcm-dma.c
+++ b/sound/soc/amd/raven/acp3x-pcm-dma.c
@@ -363,7 +363,7 @@ static const struct snd_soc_component_driver acp3x_i2s_component = {
 	.close		= acp3x_dma_close,
 	.hw_params	= acp3x_dma_hw_params,
 	.pointer	= acp3x_dma_pointer,
-	.pcm_construct	= acp3x_dma_new,
+	.pcm_new	= acp3x_dma_new,
 };
 
 static int acp3x_audio_probe(struct platform_device *pdev)
diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c b/sound/soc/amd/renoir/acp3x-pdm-dma.c
index e832c7c4b96fa..e60e3821703cc 100644
--- a/sound/soc/amd/renoir/acp3x-pdm-dma.c
+++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c
@@ -376,7 +376,7 @@ static const struct snd_soc_component_driver acp_pdm_component = {
 	.close			= acp_pdm_dma_close,
 	.hw_params		= acp_pdm_dma_hw_params,
 	.pointer		= acp_pdm_dma_pointer,
-	.pcm_construct		= acp_pdm_dma_new,
+	.pcm_new		= acp_pdm_dma_new,
 	.legacy_dai_naming	= 1,
 };
 
diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
index 6ce82cd8859b8..831e30e9b0426 100644
--- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c
+++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c
@@ -357,7 +357,7 @@ static const struct snd_soc_component_driver acp5x_i2s_component = {
 	.close		= acp5x_dma_close,
 	.hw_params	= acp5x_dma_hw_params,
 	.pointer	= acp5x_dma_pointer,
-	.pcm_construct	= acp5x_dma_new,
+	.pcm_new	= acp5x_dma_new,
 };
 
 static int acp5x_audio_probe(struct platform_device *pdev)
diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c b/sound/soc/amd/yc/acp6x-pdm-dma.c
index 1c8aad8499164..710db721ffa48 100644
--- a/sound/soc/amd/yc/acp6x-pdm-dma.c
+++ b/sound/soc/amd/yc/acp6x-pdm-dma.c
@@ -346,7 +346,7 @@ static const struct snd_soc_component_driver acp6x_pdm_component = {
 	.close			= acp6x_pdm_dma_close,
 	.hw_params		= acp6x_pdm_dma_hw_params,
 	.pointer		= acp6x_pdm_dma_pointer,
-	.pcm_construct		= acp6x_pdm_dma_new,
+	.pcm_new		= acp6x_pdm_dma_new,
 	.legacy_dai_naming	= 1,
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 03/29] ASoC: apple: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 01/29] " Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 02/29] ASoC: amd: name back to pcm_new()/pcm_free() Kuninori Morimoto
@ 2026-03-04  6:22 ` Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 04/29] ASoC: atmel: " Kuninori Morimoto
                   ` (25 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/apple/mca.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/apple/mca.c b/sound/soc/apple/mca.c
index c4dcb2b545912..39269cc7def62 100644
--- a/sound/soc/apple/mca.c
+++ b/sound/soc/apple/mca.c
@@ -1002,8 +1002,8 @@ static const struct snd_soc_component_driver mca_component = {
 	.hw_params = mca_hw_params,
 	.trigger = mca_trigger,
 	.pointer = mca_pointer,
-	.pcm_construct = mca_pcm_new,
-	.pcm_destruct = mca_pcm_free,
+	.pcm_new = mca_pcm_new,
+	.pcm_free = mca_pcm_free,
 };
 
 static void apple_mca_release(struct mca_data *mca)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 04/29] ASoC: atmel: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (2 preceding siblings ...)
  2026-03-04  6:22 ` [PATCH 03/29] ASoC: apple: " Kuninori Morimoto
@ 2026-03-04  6:22 ` Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 05/29] ASoC: au1x: " Kuninori Morimoto
                   ` (24 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/atmel/atmel-pcm-pdc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/atmel/atmel-pcm-pdc.c b/sound/soc/atmel/atmel-pcm-pdc.c
index 1a0c584801f06..374f93fa6e0b0 100644
--- a/sound/soc/atmel/atmel-pcm-pdc.c
+++ b/sound/soc/atmel/atmel-pcm-pdc.c
@@ -316,7 +316,7 @@ static const struct snd_soc_component_driver atmel_soc_platform = {
 	.prepare	= atmel_pcm_prepare,
 	.trigger	= atmel_pcm_trigger,
 	.pointer	= atmel_pcm_pointer,
-	.pcm_construct	= atmel_pcm_new,
+	.pcm_new	= atmel_pcm_new,
 };
 
 int atmel_pcm_pdc_platform_register(struct device *dev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 05/29] ASoC: au1x: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (3 preceding siblings ...)
  2026-03-04  6:22 ` [PATCH 04/29] ASoC: atmel: " Kuninori Morimoto
@ 2026-03-04  6:22 ` Kuninori Morimoto
  2026-03-04  6:22 ` [PATCH 06/29] ASoC: bcm: " Kuninori Morimoto
                   ` (23 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/au1x/dbdma2.c | 2 +-
 sound/soc/au1x/dma.c    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/au1x/dbdma2.c b/sound/soc/au1x/dbdma2.c
index 3392693faeb93..3d10d64604727 100644
--- a/sound/soc/au1x/dbdma2.c
+++ b/sound/soc/au1x/dbdma2.c
@@ -319,7 +319,7 @@ static const struct snd_soc_component_driver au1xpsc_soc_component = {
 	.prepare	= au1xpsc_pcm_prepare,
 	.trigger	= au1xpsc_pcm_trigger,
 	.pointer	= au1xpsc_pcm_pointer,
-	.pcm_construct	= au1xpsc_pcm_new,
+	.pcm_new	= au1xpsc_pcm_new,
 };
 
 static int au1xpsc_pcm_drvprobe(struct platform_device *pdev)
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index 8d91a0e0f112d..026d9f36db106 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -296,7 +296,7 @@ static const struct snd_soc_component_driver alchemy_pcm_soc_component = {
 	.hw_free	= alchemy_pcm_hw_free,
 	.trigger	= alchemy_pcm_trigger,
 	.pointer	= alchemy_pcm_pointer,
-	.pcm_construct	= alchemy_pcm_new,
+	.pcm_new	= alchemy_pcm_new,
 };
 
 static int alchemy_pcm_drvprobe(struct platform_device *pdev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 06/29] ASoC: bcm: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (4 preceding siblings ...)
  2026-03-04  6:22 ` [PATCH 05/29] ASoC: au1x: " Kuninori Morimoto
@ 2026-03-04  6:22 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 07/29] ASoC: codecs: cros_ec_codec: " Kuninori Morimoto
                   ` (22 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:22 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/bcm/bcm63xx-pcm-whistler.c | 2 +-
 sound/soc/bcm/cygnus-pcm.c           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/bcm/bcm63xx-pcm-whistler.c b/sound/soc/bcm/bcm63xx-pcm-whistler.c
index 6a3fd0d893656..a40f6bed69c6f 100644
--- a/sound/soc/bcm/bcm63xx-pcm-whistler.c
+++ b/sound/soc/bcm/bcm63xx-pcm-whistler.c
@@ -386,7 +386,7 @@ static const struct snd_soc_component_driver bcm63xx_soc_platform = {
 	.prepare = bcm63xx_pcm_prepare,
 	.trigger = bcm63xx_pcm_trigger,
 	.pointer = bcm63xx_pcm_pointer,
-	.pcm_construct = bcm63xx_soc_pcm_new,
+	.pcm_new = bcm63xx_soc_pcm_new,
 };
 
 int bcm63xx_soc_platform_probe(struct platform_device *pdev,
diff --git a/sound/soc/bcm/cygnus-pcm.c b/sound/soc/bcm/cygnus-pcm.c
index 4cb2fe10bcdc1..dc243f2dfd32b 100644
--- a/sound/soc/bcm/cygnus-pcm.c
+++ b/sound/soc/bcm/cygnus-pcm.c
@@ -713,7 +713,7 @@ static const struct snd_soc_component_driver cygnus_soc_platform = {
 	.prepare	= cygnus_pcm_prepare,
 	.trigger	= cygnus_pcm_trigger,
 	.pointer	= cygnus_pcm_pointer,
-	.pcm_construct	= cygnus_dma_new,
+	.pcm_new	= cygnus_dma_new,
 };
 
 int cygnus_soc_platform_register(struct device *dev,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 07/29] ASoC: codecs: cros_ec_codec: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (5 preceding siblings ...)
  2026-03-04  6:22 ` [PATCH 06/29] ASoC: bcm: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 08/29] ASoC: codecs: rt5xxx-spi: " Kuninori Morimoto
                   ` (21 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/codecs/cros_ec_codec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/codecs/cros_ec_codec.c b/sound/soc/codecs/cros_ec_codec.c
index f78a85b89d955..7dc5a7c3ca96d 100644
--- a/sound/soc/codecs/cros_ec_codec.c
+++ b/sound/soc/codecs/cros_ec_codec.c
@@ -948,7 +948,7 @@ static const struct snd_soc_component_driver wov_component_driver = {
 	.hw_params	= wov_pcm_hw_params,
 	.hw_free	= wov_pcm_hw_free,
 	.pointer	= wov_pcm_pointer,
-	.pcm_construct	= wov_pcm_new,
+	.pcm_new	= wov_pcm_new,
 };
 
 static int cros_ec_codec_platform_probe(struct platform_device *pdev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 08/29] ASoC: codecs: rt5xxx-spi: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (6 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 07/29] ASoC: codecs: cros_ec_codec: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 09/29] ASoC: dwc: " Kuninori Morimoto
                   ` (20 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/codecs/rt5514-spi.c | 2 +-
 sound/soc/codecs/rt5677-spi.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/rt5514-spi.c b/sound/soc/codecs/rt5514-spi.c
index 54d84581ec475..199507d12841f 100644
--- a/sound/soc/codecs/rt5514-spi.c
+++ b/sound/soc/codecs/rt5514-spi.c
@@ -303,7 +303,7 @@ static const struct snd_soc_component_driver rt5514_spi_component = {
 	.hw_params		= rt5514_spi_hw_params,
 	.hw_free		= rt5514_spi_hw_free,
 	.pointer		= rt5514_spi_pcm_pointer,
-	.pcm_construct		= rt5514_spi_pcm_new,
+	.pcm_new		= rt5514_spi_pcm_new,
 	.legacy_dai_naming	= 1,
 };
 
diff --git a/sound/soc/codecs/rt5677-spi.c b/sound/soc/codecs/rt5677-spi.c
index 548180ec5762c..1bcafd5f44682 100644
--- a/sound/soc/codecs/rt5677-spi.c
+++ b/sound/soc/codecs/rt5677-spi.c
@@ -404,7 +404,7 @@ static const struct snd_soc_component_driver rt5677_spi_dai_component = {
 	.hw_free		= rt5677_spi_hw_free,
 	.prepare		= rt5677_spi_prepare,
 	.pointer		= rt5677_spi_pcm_pointer,
-	.pcm_construct		= rt5677_spi_pcm_new,
+	.pcm_new		= rt5677_spi_pcm_new,
 	.legacy_dai_naming	= 1,
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 09/29] ASoC: dwc: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (7 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 08/29] ASoC: codecs: rt5xxx-spi: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 10/29] ASoC: fsl: " Kuninori Morimoto
                   ` (19 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/dwc/dwc-pcm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/dwc/dwc-pcm.c b/sound/soc/dwc/dwc-pcm.c
index 15ff39b1a5098..bbc4ea88edc4e 100644
--- a/sound/soc/dwc/dwc-pcm.c
+++ b/sound/soc/dwc/dwc-pcm.c
@@ -253,7 +253,7 @@ static const struct snd_soc_component_driver dw_pcm_component = {
 	.hw_params	= dw_pcm_hw_params,
 	.trigger	= dw_pcm_trigger,
 	.pointer	= dw_pcm_pointer,
-	.pcm_construct	= dw_pcm_new,
+	.pcm_new	= dw_pcm_new,
 };
 
 int dw_pcm_register(struct platform_device *pdev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 10/29] ASoC: fsl: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (8 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 09/29] ASoC: dwc: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 11/29] ASoC: generic: " Kuninori Morimoto
                   ` (18 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/fsl/fsl_asrc_dma.c  | 2 +-
 sound/soc/fsl/fsl_dma.c       | 2 +-
 sound/soc/fsl/fsl_qmc_audio.c | 6 +++---
 sound/soc/fsl/imx-pcm-fiq.c   | 4 ++--
 sound/soc/fsl/imx-pcm-rpmsg.c | 2 +-
 sound/soc/fsl/mpc5200_dma.c   | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/sound/soc/fsl/fsl_asrc_dma.c b/sound/soc/fsl/fsl_asrc_dma.c
index 348b0aabfa683..5aa96af994c41 100644
--- a/sound/soc/fsl/fsl_asrc_dma.c
+++ b/sound/soc/fsl/fsl_asrc_dma.c
@@ -505,7 +505,7 @@ struct snd_soc_component_driver fsl_asrc_component = {
 	.open		= fsl_asrc_dma_startup,
 	.close		= fsl_asrc_dma_shutdown,
 	.pointer	= fsl_asrc_dma_pcm_pointer,
-	.pcm_construct	= fsl_asrc_dma_pcm_new,
+	.pcm_new	= fsl_asrc_dma_pcm_new,
 	.legacy_dai_naming = 1,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_prefix	= "asrc",
diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c
index 26ddbe867b581..b120b3514fbec 100644
--- a/sound/soc/fsl/fsl_dma.c
+++ b/sound/soc/fsl/fsl_dma.c
@@ -860,7 +860,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev)
 	dma->dai.hw_params = fsl_dma_hw_params;
 	dma->dai.hw_free = fsl_dma_hw_free;
 	dma->dai.pointer = fsl_dma_pointer;
-	dma->dai.pcm_construct = fsl_dma_new;
+	dma->dai.pcm_new = fsl_dma_new;
 
 	/* Store the SSI-specific information that we need */
 	dma->ssi_stx_phys = res.start + REG_SSI_STX0;
diff --git a/sound/soc/fsl/fsl_qmc_audio.c b/sound/soc/fsl/fsl_qmc_audio.c
index 43d401ae2d03e..76e014dfb6d7b 100644
--- a/sound/soc/fsl/fsl_qmc_audio.c
+++ b/sound/soc/fsl/fsl_qmc_audio.c
@@ -54,8 +54,8 @@ struct qmc_dai_prtd {
 	struct snd_pcm_substream *substream;
 };
 
-static int qmc_audio_pcm_construct(struct snd_soc_component *component,
-				   struct snd_soc_pcm_runtime *rtd)
+static int qmc_audio_pcm_new(struct snd_soc_component *component,
+			     struct snd_soc_pcm_runtime *rtd)
 {
 	struct snd_card *card = rtd->card->snd_card;
 	int ret;
@@ -340,7 +340,7 @@ static const struct snd_soc_component_driver qmc_audio_soc_platform = {
 	.hw_params		= qmc_audio_pcm_hw_params,
 	.trigger		= qmc_audio_pcm_trigger,
 	.pointer		= qmc_audio_pcm_pointer,
-	.pcm_construct		= qmc_audio_pcm_construct,
+	.pcm_new		= qmc_audio_pcm_new,
 	.of_xlate_dai_name	= qmc_audio_of_xlate_dai_name,
 };
 
diff --git a/sound/soc/fsl/imx-pcm-fiq.c b/sound/soc/fsl/imx-pcm-fiq.c
index d51a3de493cb5..e0fb4f8fd5228 100644
--- a/sound/soc/fsl/imx-pcm-fiq.c
+++ b/sound/soc/fsl/imx-pcm-fiq.c
@@ -273,8 +273,8 @@ static const struct snd_soc_component_driver imx_soc_component_fiq = {
 	.prepare	= snd_imx_pcm_prepare,
 	.trigger	= snd_imx_pcm_trigger,
 	.pointer	= snd_imx_pcm_pointer,
-	.pcm_construct	= snd_imx_pcm_new,
-	.pcm_destruct	= snd_imx_pcm_free,
+	.pcm_new	= snd_imx_pcm_new,
+	.pcm_free	= snd_imx_pcm_free,
 };
 
 int imx_pcm_fiq_init(struct platform_device *pdev,
diff --git a/sound/soc/fsl/imx-pcm-rpmsg.c b/sound/soc/fsl/imx-pcm-rpmsg.c
index edab68ae83665..031e5272215d4 100644
--- a/sound/soc/fsl/imx-pcm-rpmsg.c
+++ b/sound/soc/fsl/imx-pcm-rpmsg.c
@@ -624,7 +624,7 @@ static int imx_rpmsg_pcm_new(struct snd_soc_component *component,
 
 static const struct snd_soc_component_driver imx_rpmsg_soc_component = {
 	.name		= IMX_PCM_DRV_NAME,
-	.pcm_construct	= imx_rpmsg_pcm_new,
+	.pcm_new	= imx_rpmsg_pcm_new,
 	.open		= imx_rpmsg_pcm_open,
 	.close		= imx_rpmsg_pcm_close,
 	.hw_params	= imx_rpmsg_pcm_hw_params,
diff --git a/sound/soc/fsl/mpc5200_dma.c b/sound/soc/fsl/mpc5200_dma.c
index a593a95aa532e..ee4fb5c932cae 100644
--- a/sound/soc/fsl/mpc5200_dma.c
+++ b/sound/soc/fsl/mpc5200_dma.c
@@ -307,7 +307,7 @@ static const struct snd_soc_component_driver mpc5200_audio_dma_component = {
 	.close		= psc_dma_close,
 	.pointer	= psc_dma_pointer,
 	.trigger	= psc_dma_trigger,
-	.pcm_construct	= psc_dma_new,
+	.pcm_new	= psc_dma_new,
 };
 
 int mpc5200_audio_dma_create(struct platform_device *op)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 11/29] ASoC: generic: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (9 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 10/29] ASoC: fsl: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 12/29] ASoC: google: " Kuninori Morimoto
                   ` (17 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/generic/test-component.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/sound/soc/generic/test-component.c b/sound/soc/generic/test-component.c
index 2e49066dedd41..fc40d024152e6 100644
--- a/sound/soc/generic/test-component.c
+++ b/sound/soc/generic/test-component.c
@@ -273,8 +273,8 @@ static int test_component_resume(struct snd_soc_component *component)
 }
 
 #define PREALLOC_BUFFER		(32 * 1024)
-static int test_component_pcm_construct(struct snd_soc_component *component,
-					struct snd_soc_pcm_runtime *rtd)
+static int test_component_pcm_new(struct snd_soc_component *component,
+				  struct snd_soc_pcm_runtime *rtd)
 {
 	mile_stone(component);
 
@@ -287,8 +287,8 @@ static int test_component_pcm_construct(struct snd_soc_component *component,
 	return 0;
 }
 
-static void test_component_pcm_destruct(struct snd_soc_component *component,
-					struct snd_pcm *pcm)
+static void test_component_pcm_free(struct snd_soc_component *component,
+				    struct snd_pcm *pcm)
 {
 	mile_stone(component);
 }
@@ -562,7 +562,7 @@ static int test_driver_probe(struct platform_device *pdev)
 
 	if (adata->is_cpu) {
 		cdriv->name			= "test_cpu";
-		cdriv->pcm_construct		= test_component_pcm_construct;
+		cdriv->pcm_new			= test_component_pcm_new;
 		cdriv->pointer			= test_component_pointer;
 		cdriv->trigger			= test_component_trigger;
 		cdriv->legacy_dai_naming	= 1;
@@ -597,7 +597,7 @@ static int test_driver_probe(struct platform_device *pdev)
 		cdriv->be_hw_params_fixup	= test_component_be_hw_params_fixup;
 
 		if (adata->is_cpu)
-			cdriv->pcm_destruct	= test_component_pcm_destruct;
+			cdriv->pcm_free	= test_component_pcm_free;
 	}
 
 	i = 0;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 12/29] ASoC: google: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (10 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 11/29] ASoC: generic: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 13/29] ASoC: intel: " Kuninori Morimoto
                   ` (16 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/google/chv3-i2s.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/google/chv3-i2s.c b/sound/soc/google/chv3-i2s.c
index 0ff24653d49f4..fd12cedfe1c9e 100644
--- a/sound/soc/google/chv3-i2s.c
+++ b/sound/soc/google/chv3-i2s.c
@@ -163,8 +163,8 @@ static int chv3_dma_close(struct snd_soc_component *component,
 	return 0;
 }
 
-static int chv3_dma_pcm_construct(struct snd_soc_component *component,
-				  struct snd_soc_pcm_runtime *rtd)
+static int chv3_dma_pcm_new(struct snd_soc_component *component,
+			    struct snd_soc_pcm_runtime *rtd)
 {
 	struct chv3_i2s_dev *i2s = snd_soc_dai_get_drvdata(snd_soc_rtd_to_cpu(rtd, 0));
 	struct snd_pcm_substream *substream;
@@ -271,7 +271,7 @@ static const struct snd_soc_component_driver chv3_i2s_comp = {
 	.name = "chv3-i2s-comp",
 	.open = chv3_dma_open,
 	.close = chv3_dma_close,
-	.pcm_construct = chv3_dma_pcm_construct,
+	.pcm_new = chv3_dma_pcm_new,
 	.hw_params = chv3_dma_hw_params,
 	.prepare = chv3_dma_prepare,
 	.pointer = chv3_dma_pointer,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 13/29] ASoC: intel: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (11 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 12/29] ASoC: google: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 14/29] ASoC: kirkwood: " Kuninori Morimoto
                   ` (15 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/intel/atom/sst-mfld-platform-pcm.c | 2 +-
 sound/soc/intel/avs/pcm.c                    | 8 ++++----
 sound/soc/intel/catpt/pcm.c                  | 6 +++---
 sound/soc/intel/keembay/kmb_platform.c       | 2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/sound/soc/intel/atom/sst-mfld-platform-pcm.c b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
index 67caea39b5570..f074af2499c83 100644
--- a/sound/soc/intel/atom/sst-mfld-platform-pcm.c
+++ b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
@@ -707,7 +707,7 @@ static const struct snd_soc_component_driver sst_soc_platform_drv  = {
 	.pointer	= sst_soc_pointer,
 	.delay		= sst_soc_delay,
 	.compress_ops	= &sst_platform_compress_ops,
-	.pcm_construct	= sst_soc_pcm_new,
+	.pcm_new	= sst_soc_pcm_new,
 };
 
 static int sst_platform_probe(struct platform_device *pdev)
diff --git a/sound/soc/intel/avs/pcm.c b/sound/soc/intel/avs/pcm.c
index d53c2f76fcd40..797b9c9163b49 100644
--- a/sound/soc/intel/avs/pcm.c
+++ b/sound/soc/intel/avs/pcm.c
@@ -1349,8 +1349,8 @@ static int avs_component_mmap(struct snd_soc_component *component,
 
 #define MAX_PREALLOC_SIZE	(32 * 1024 * 1024)
 
-static int avs_component_construct(struct snd_soc_component *component,
-				   struct snd_soc_pcm_runtime *rtd)
+static int avs_component_new(struct snd_soc_component *component,
+			     struct snd_soc_pcm_runtime *rtd)
 {
 	struct snd_soc_dai *dai = snd_soc_rtd_to_cpu(rtd, 0);
 	struct snd_pcm *pcm = rtd->pcm;
@@ -1377,7 +1377,7 @@ static struct snd_soc_component_driver avs_component_driver = {
 	.open			= avs_component_open,
 	.pointer		= avs_component_pointer,
 	.mmap			= avs_component_mmap,
-	.pcm_construct		= avs_component_construct,
+	.pcm_new		= avs_component_new,
 	.module_get_upon_open	= 1, /* increment refcount when a pcm is opened */
 	.topology_name_prefix	= "intel/avs",
 };
@@ -1755,7 +1755,7 @@ static struct snd_soc_component_driver avs_hda_component_driver = {
 	.open			= avs_component_hda_open,
 	.pointer		= avs_component_pointer,
 	.mmap			= avs_component_mmap,
-	.pcm_construct		= avs_component_construct,
+	.pcm_new		= avs_component_new,
 	/*
 	 * hda platform component's probe() is dependent on
 	 * codec->pcm_list_head, it needs to be initialized after codec
diff --git a/sound/soc/intel/catpt/pcm.c b/sound/soc/intel/catpt/pcm.c
index 2c5ea4e0ff3d7..ff273094046ff 100644
--- a/sound/soc/intel/catpt/pcm.c
+++ b/sound/soc/intel/catpt/pcm.c
@@ -574,8 +574,8 @@ static const struct snd_pcm_hardware catpt_pcm_hardware = {
 	.buffer_bytes_max	= CATPT_BUFFER_MAX_SIZE,
 };
 
-static int catpt_component_pcm_construct(struct snd_soc_component *component,
-					 struct snd_soc_pcm_runtime *rtm)
+static int catpt_component_pcm_new(struct snd_soc_component *component,
+				   struct snd_soc_pcm_runtime *rtm)
 {
 	struct catpt_dev *cdev = dev_get_drvdata(component->dev);
 
@@ -1122,7 +1122,7 @@ static const struct snd_soc_dapm_route component_routes[] = {
 static const struct snd_soc_component_driver catpt_comp_driver = {
 	.name = "catpt-platform",
 
-	.pcm_construct = catpt_component_pcm_construct,
+	.pcm_new = catpt_component_pcm_new,
 	.open = catpt_component_open,
 	.pointer = catpt_component_pointer,
 
diff --git a/sound/soc/intel/keembay/kmb_platform.c b/sound/soc/intel/keembay/kmb_platform.c
index 4ed71d11ad778..6659e8060ef3a 100644
--- a/sound/soc/intel/keembay/kmb_platform.c
+++ b/sound/soc/intel/keembay/kmb_platform.c
@@ -388,7 +388,7 @@ static snd_pcm_uframes_t kmb_pcm_pointer(struct snd_soc_component *component,
 
 static const struct snd_soc_component_driver kmb_component = {
 	.name			= "kmb",
-	.pcm_construct		= kmb_platform_pcm_new,
+	.pcm_new		= kmb_platform_pcm_new,
 	.open			= kmb_pcm_open,
 	.trigger		= kmb_pcm_trigger,
 	.pointer		= kmb_pcm_pointer,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 14/29] ASoC: kirkwood: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (12 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 13/29] ASoC: intel: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 15/29] ASoC: loongson: " Kuninori Morimoto
                   ` (14 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/kirkwood/kirkwood-dma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/kirkwood/kirkwood-dma.c b/sound/soc/kirkwood/kirkwood-dma.c
index 036b42058272f..bd09cb163e655 100644
--- a/sound/soc/kirkwood/kirkwood-dma.c
+++ b/sound/soc/kirkwood/kirkwood-dma.c
@@ -261,5 +261,5 @@ const struct snd_soc_component_driver kirkwood_soc_component = {
 	.hw_params	= kirkwood_dma_hw_params,
 	.prepare	= kirkwood_dma_prepare,
 	.pointer	= kirkwood_dma_pointer,
-	.pcm_construct	= kirkwood_dma_new,
+	.pcm_new	= kirkwood_dma_new,
 };
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 15/29] ASoC: loongson: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (13 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 14/29] ASoC: kirkwood: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 16/29] ASoC: mediatek: " Kuninori Morimoto
                   ` (13 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/loongson/loongson_dma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/loongson/loongson_dma.c b/sound/soc/loongson/loongson_dma.c
index f26b2951bc9c0..a149b643175c0 100644
--- a/sound/soc/loongson/loongson_dma.c
+++ b/sound/soc/loongson/loongson_dma.c
@@ -341,5 +341,5 @@ const struct snd_soc_component_driver loongson_i2s_component = {
 	.trigger	= loongson_pcm_trigger,
 	.pointer	= loongson_pcm_pointer,
 	.mmap		= loongson_pcm_mmap,
-	.pcm_construct	= loongson_pcm_new,
+	.pcm_new	= loongson_pcm_new,
 };
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 16/29] ASoC: mediatek: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (14 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 15/29] ASoC: loongson: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 17/29] ASoC: pxa: " Kuninori Morimoto
                   ` (12 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/mediatek/common/mtk-afe-platform-driver.c | 2 +-
 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c          | 2 +-
 sound/soc/mediatek/mt8189/mt8189-afe-pcm.c          | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/mediatek/common/mtk-afe-platform-driver.c b/sound/soc/mediatek/common/mtk-afe-platform-driver.c
index 938dd3d46b003..f2b39fc9ec81e 100644
--- a/sound/soc/mediatek/common/mtk-afe-platform-driver.c
+++ b/sound/soc/mediatek/common/mtk-afe-platform-driver.c
@@ -149,7 +149,7 @@ static int mtk_afe_component_probe(struct snd_soc_component *component)
 const struct snd_soc_component_driver mtk_afe_pcm_platform = {
 	.name		= AFE_PCM_NAME,
 	.pointer	= mtk_afe_pcm_pointer,
-	.pcm_construct	= mtk_afe_pcm_new,
+	.pcm_new	= mtk_afe_pcm_new,
 	.probe		= mtk_afe_component_probe,
 };
 EXPORT_SYMBOL_GPL(mtk_afe_pcm_platform);
diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
index 085e993c650d8..44a521c3a6104 100644
--- a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
+++ b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
@@ -2773,7 +2773,7 @@ static int mt8186_afe_component_probe(struct snd_soc_component *component)
 
 static const struct snd_soc_component_driver mt8186_afe_component = {
 	.name = AFE_PCM_NAME,
-	.pcm_construct = mtk_afe_pcm_new,
+	.pcm_new = mtk_afe_pcm_new,
 	.pointer = mtk_afe_pcm_pointer,
 	.probe = mt8186_afe_component_probe,
 };
diff --git a/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c b/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
index 166ece74270ec..24b0c78815f61 100644
--- a/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
+++ b/sound/soc/mediatek/mt8189/mt8189-afe-pcm.c
@@ -2378,8 +2378,8 @@ static void mt8189_afe_pcm_free(struct snd_soc_component *component,
 static const struct snd_soc_component_driver mt8189_afe_component = {
 	.name = AFE_PCM_NAME,
 	.probe = mt8189_afe_component_probe,
-	.pcm_construct = mtk_afe_pcm_new,
-	.pcm_destruct = mt8189_afe_pcm_free,
+	.pcm_new = mtk_afe_pcm_new,
+	.pcm_free = mt8189_afe_pcm_free,
 	.open = mt8189_afe_pcm_open,
 	.pointer = mtk_afe_pcm_pointer,
 };
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 17/29] ASoC: pxa: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (15 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 16/29] ASoC: mediatek: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 18/29] ASoC: qcom: " Kuninori Morimoto
                   ` (11 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/pxa/pxa-ssp.c     | 2 +-
 sound/soc/pxa/pxa2xx-ac97.c | 2 +-
 sound/soc/pxa/pxa2xx-i2s.c  | 2 +-
 sound/soc/pxa/pxa2xx-pcm.c  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index c34bfa27a446a..37bd8dbd541f7 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -843,7 +843,7 @@ static struct snd_soc_dai_driver pxa_ssp_dai = {
 
 static const struct snd_soc_component_driver pxa_ssp_component = {
 	.name			= "pxa-ssp",
-	.pcm_construct		= pxa2xx_soc_pcm_new,
+	.pcm_new		= pxa2xx_soc_pcm_new,
 	.open			= pxa2xx_soc_pcm_open,
 	.close			= pxa2xx_soc_pcm_close,
 	.hw_params		= pxa2xx_soc_pcm_hw_params,
diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c
index 109a4958d9c04..a0c6726029186 100644
--- a/sound/soc/pxa/pxa2xx-ac97.c
+++ b/sound/soc/pxa/pxa2xx-ac97.c
@@ -198,7 +198,7 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = {
 
 static const struct snd_soc_component_driver pxa_ac97_component = {
 	.name		= "pxa-ac97",
-	.pcm_construct	= pxa2xx_soc_pcm_new,
+	.pcm_new	= pxa2xx_soc_pcm_new,
 	.open		= pxa2xx_soc_pcm_open,
 	.close		= pxa2xx_soc_pcm_close,
 	.hw_params	= pxa2xx_soc_pcm_hw_params,
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index 849fbf176a70f..f6ada6cffc889 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -356,7 +356,7 @@ static struct snd_soc_dai_driver pxa_i2s_dai = {
 
 static const struct snd_soc_component_driver pxa_i2s_component = {
 	.name			= "pxa-i2s",
-	.pcm_construct		= pxa2xx_soc_pcm_new,
+	.pcm_new		= pxa2xx_soc_pcm_new,
 	.open			= pxa2xx_soc_pcm_open,
 	.close			= pxa2xx_soc_pcm_close,
 	.hw_params		= pxa2xx_soc_pcm_hw_params,
diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c
index 9d6c41f775e51..ff0fbb61dccd9 100644
--- a/sound/soc/pxa/pxa2xx-pcm.c
+++ b/sound/soc/pxa/pxa2xx-pcm.c
@@ -18,7 +18,7 @@
 #include <sound/dmaengine_pcm.h>
 
 static const struct snd_soc_component_driver pxa2xx_soc_platform = {
-	.pcm_construct	= pxa2xx_soc_pcm_new,
+	.pcm_new	= pxa2xx_soc_pcm_new,
 	.open		= pxa2xx_soc_pcm_open,
 	.close		= pxa2xx_soc_pcm_close,
 	.hw_params	= pxa2xx_soc_pcm_hw_params,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 18/29] ASoC: qcom: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (16 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 17/29] ASoC: pxa: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 19/29] ASoC: renesas: " Kuninori Morimoto
                   ` (10 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/qcom/lpass-platform.c  | 2 +-
 sound/soc/qcom/qdsp6/q6apm-dai.c | 2 +-
 sound/soc/qcom/qdsp6/q6asm-dai.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/qcom/lpass-platform.c b/sound/soc/qcom/lpass-platform.c
index ce6896cc015dd..e162627d6f86e 100644
--- a/sound/soc/qcom/lpass-platform.c
+++ b/sound/soc/qcom/lpass-platform.c
@@ -1268,7 +1268,7 @@ static const struct snd_soc_component_driver lpass_component_driver = {
 	.trigger	= lpass_platform_pcmops_trigger,
 	.pointer	= lpass_platform_pcmops_pointer,
 	.mmap		= lpass_platform_pcmops_mmap,
-	.pcm_construct	= lpass_platform_pcm_new,
+	.pcm_new	= lpass_platform_pcm_new,
 	.suspend		= lpass_platform_pcmops_suspend,
 	.resume			= lpass_platform_pcmops_resume,
 	.copy		= lpass_platform_copy,
diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-dai.c
index de3bdac3e791c..7a6a1d673e875 100644
--- a/sound/soc/qcom/qdsp6/q6apm-dai.c
+++ b/sound/soc/qcom/qdsp6/q6apm-dai.c
@@ -831,7 +831,7 @@ static const struct snd_soc_component_driver q6apm_fe_dai_component = {
 	.open		= q6apm_dai_open,
 	.close		= q6apm_dai_close,
 	.prepare	= q6apm_dai_prepare,
-	.pcm_construct	= q6apm_dai_pcm_new,
+	.pcm_new	= q6apm_dai_pcm_new,
 	.hw_params	= q6apm_dai_hw_params,
 	.pointer	= q6apm_dai_pointer,
 	.trigger	= q6apm_dai_trigger,
diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-dai.c
index 9e3d176f50c24..4f8f7db6c3d39 100644
--- a/sound/soc/qcom/qdsp6/q6asm-dai.c
+++ b/sound/soc/qcom/qdsp6/q6asm-dai.c
@@ -1224,7 +1224,7 @@ static const struct snd_soc_component_driver q6asm_fe_dai_component = {
 	.trigger		= q6asm_dai_trigger,
 	.ack			= q6asm_dai_ack,
 	.pointer		= q6asm_dai_pointer,
-	.pcm_construct		= q6asm_dai_pcm_new,
+	.pcm_new		= q6asm_dai_pcm_new,
 	.compress_ops		= &q6asm_dai_compress_ops,
 	.dapm_widgets		= q6asm_dapm_widgets,
 	.num_dapm_widgets	= ARRAY_SIZE(q6asm_dapm_widgets),
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 19/29] ASoC: renesas: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (17 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 18/29] ASoC: qcom: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 20/29] ASoC: samsung: " Kuninori Morimoto
                   ` (9 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/renesas/dma-sh7760.c | 2 +-
 sound/soc/renesas/fsi.c        | 2 +-
 sound/soc/renesas/rcar/msiof.c | 2 +-
 sound/soc/renesas/rz-ssi.c     | 2 +-
 sound/soc/renesas/siu_pcm.c    | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/sound/soc/renesas/dma-sh7760.c b/sound/soc/renesas/dma-sh7760.c
index c53539482c208..ca128ea903dae 100644
--- a/sound/soc/renesas/dma-sh7760.c
+++ b/sound/soc/renesas/dma-sh7760.c
@@ -310,7 +310,7 @@ static const struct snd_soc_component_driver sh7760_soc_component = {
 	.prepare	= camelot_prepare,
 	.trigger	= camelot_trigger,
 	.pointer	= camelot_pos,
-	.pcm_construct	= camelot_pcm_new,
+	.pcm_new	= camelot_pcm_new,
 };
 
 static int sh7760_soc_platform_probe(struct platform_device *pdev)
diff --git a/sound/soc/renesas/fsi.c b/sound/soc/renesas/fsi.c
index 1491c2f2cc961..8cbd7acc26f49 100644
--- a/sound/soc/renesas/fsi.c
+++ b/sound/soc/renesas/fsi.c
@@ -1817,7 +1817,7 @@ static const struct snd_soc_component_driver fsi_soc_component = {
 	.name		= "fsi",
 	.open		= fsi_pcm_open,
 	.pointer	= fsi_pointer,
-	.pcm_construct	= fsi_pcm_new,
+	.pcm_new	= fsi_pcm_new,
 };
 
 /*
diff --git a/sound/soc/renesas/rcar/msiof.c b/sound/soc/renesas/rcar/msiof.c
index f2addfbac9237..2671abc028cce 100644
--- a/sound/soc/renesas/rcar/msiof.c
+++ b/sound/soc/renesas/rcar/msiof.c
@@ -514,7 +514,7 @@ static const struct snd_soc_component_driver msiof_component_driver = {
 	.open		= msiof_open,
 	.close		= msiof_close,
 	.pointer	= msiof_pointer,
-	.pcm_construct	= msiof_new,
+	.pcm_new	= msiof_new,
 	.trigger	= msiof_trigger,
 	.hw_params	= msiof_hw_params,
 };
diff --git a/sound/soc/renesas/rz-ssi.c b/sound/soc/renesas/rz-ssi.c
index 74e078c041502..71e434cfe07b9 100644
--- a/sound/soc/renesas/rz-ssi.c
+++ b/sound/soc/renesas/rz-ssi.c
@@ -1117,7 +1117,7 @@ static const struct snd_soc_component_driver rz_ssi_soc_component = {
 	.name			= "rz-ssi",
 	.open			= rz_ssi_pcm_open,
 	.pointer		= rz_ssi_pcm_pointer,
-	.pcm_construct		= rz_ssi_pcm_new,
+	.pcm_new		= rz_ssi_pcm_new,
 	.legacy_dai_naming	= 1,
 };
 
diff --git a/sound/soc/renesas/siu_pcm.c b/sound/soc/renesas/siu_pcm.c
index f15ff36e79345..ae5c0c40299d6 100644
--- a/sound/soc/renesas/siu_pcm.c
+++ b/sound/soc/renesas/siu_pcm.c
@@ -546,8 +546,8 @@ const struct snd_soc_component_driver siu_component = {
 	.prepare		= siu_pcm_prepare,
 	.trigger		= siu_pcm_trigger,
 	.pointer		= siu_pcm_pointer_dma,
-	.pcm_construct		= siu_pcm_new,
-	.pcm_destruct		= siu_pcm_free,
+	.pcm_new		= siu_pcm_new,
+	.pcm_free		= siu_pcm_free,
 	.legacy_dai_naming	= 1,
 };
 EXPORT_SYMBOL_GPL(siu_component);
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 20/29] ASoC: samsung: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (18 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 19/29] ASoC: renesas: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 21/29] ASoC: soc-generic-dmaengine-pcm: " Kuninori Morimoto
                   ` (8 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/samsung/idma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c
index beb7e09e9fac6..cb455ddce2532 100644
--- a/sound/soc/samsung/idma.c
+++ b/sound/soc/samsung/idma.c
@@ -399,8 +399,8 @@ static const struct snd_soc_component_driver asoc_idma_platform = {
 	.hw_params	= idma_hw_params,
 	.hw_free	= idma_hw_free,
 	.prepare	= idma_prepare,
-	.pcm_construct	= idma_new,
-	.pcm_destruct	= idma_free,
+	.pcm_new	= idma_new,
+	.pcm_free	= idma_free,
 };
 
 static int asoc_idma_platform_probe(struct platform_device *pdev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 21/29] ASoC: soc-generic-dmaengine-pcm: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (19 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 20/29] ASoC: samsung: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:23 ` [PATCH 22/29] ASoC: sof: " Kuninori Morimoto
                   ` (7 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/soc-generic-dmaengine-pcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
index dbec46703b35a..6b8c65763c828 100644
--- a/sound/soc/soc-generic-dmaengine-pcm.c
+++ b/sound/soc/soc-generic-dmaengine-pcm.c
@@ -332,7 +332,7 @@ static const struct snd_soc_component_driver dmaengine_pcm_component = {
 	.hw_params	= dmaengine_pcm_hw_params,
 	.trigger	= dmaengine_pcm_trigger,
 	.pointer	= dmaengine_pcm_pointer,
-	.pcm_construct	= dmaengine_pcm_new,
+	.pcm_new	= dmaengine_pcm_new,
 	.sync_stop	= dmaengine_pcm_sync_stop,
 };
 
@@ -345,7 +345,7 @@ static const struct snd_soc_component_driver dmaengine_pcm_component_process = {
 	.trigger	= dmaengine_pcm_trigger,
 	.pointer	= dmaengine_pcm_pointer,
 	.copy		= dmaengine_copy,
-	.pcm_construct	= dmaengine_pcm_new,
+	.pcm_new	= dmaengine_pcm_new,
 	.sync_stop	= dmaengine_pcm_sync_stop,
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 22/29] ASoC: sof: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (20 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 21/29] ASoC: soc-generic-dmaengine-pcm: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-16  1:08   ` Mark Brown
  2026-03-04  6:23 ` [PATCH 23/29] ASoC: sprd: " Kuninori Morimoto
                   ` (6 subsequent siblings)
  28 siblings, 1 reply; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/sof/pcm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
index 5b598d0940eb4..02ba0dd18ef51 100644
--- a/sound/soc/sof/pcm.c
+++ b/sound/soc/sof/pcm.c
@@ -651,7 +651,7 @@ static int sof_pcm_new(struct snd_soc_component *component,
 		return 0;
 	}
 
-	dev_dbg(spcm->scomp->dev, "pcm%u (%s): Entry: pcm_construct\n",
+	dev_dbg(spcm->scomp->dev, "pcm%u (%s): Entry: pcm_new\n",
 		spcm->pcm.pcm_id, spcm->pcm.pcm_name);
 
 	/* do we need to pre-allocate playback audio buffer pages */
@@ -850,7 +850,7 @@ void snd_sof_new_platform_drv(struct snd_sof_dev *sdev)
 	pd->compress_ops = &sof_compressed_ops;
 #endif
 
-	pd->pcm_construct = sof_pcm_new;
+	pd->pcm_new = sof_pcm_new;
 	pd->ignore_machine = drv_name;
 	pd->be_pcm_base = SOF_BE_PCM_BASE;
 	pd->use_dai_pcm_id = true;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 23/29] ASoC: sprd: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (21 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 22/29] ASoC: sof: " Kuninori Morimoto
@ 2026-03-04  6:23 ` Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 24/29] ASoC: stm: " Kuninori Morimoto
                   ` (5 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:23 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/sprd/sprd-pcm-dma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/sprd/sprd-pcm-dma.c b/sound/soc/sprd/sprd-pcm-dma.c
index d6b96cc2f7087..cbf5bf82d96e4 100644
--- a/sound/soc/sprd/sprd-pcm-dma.c
+++ b/sound/soc/sprd/sprd-pcm-dma.c
@@ -453,7 +453,7 @@ static const struct snd_soc_component_driver sprd_soc_component = {
 	.hw_free	= sprd_pcm_hw_free,
 	.trigger	= sprd_pcm_trigger,
 	.pointer	= sprd_pcm_pointer,
-	.pcm_construct	= sprd_pcm_new,
+	.pcm_new	= sprd_pcm_new,
 	.compress_ops	= &sprd_platform_compress_ops,
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 24/29] ASoC: stm: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (22 preceding siblings ...)
  2026-03-04  6:23 ` [PATCH 23/29] ASoC: sprd: " Kuninori Morimoto
@ 2026-03-04  6:24 ` Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 25/29] ASoC: tegra: " Kuninori Morimoto
                   ` (4 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/stm/stm32_adfsdm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/stm/stm32_adfsdm.c b/sound/soc/stm/stm32_adfsdm.c
index 1797a91fea7ae..0f6d32814c222 100644
--- a/sound/soc/stm/stm32_adfsdm.c
+++ b/sound/soc/stm/stm32_adfsdm.c
@@ -315,7 +315,7 @@ static const struct snd_soc_component_driver stm32_adfsdm_soc_platform = {
 	.hw_params	= stm32_adfsdm_pcm_hw_params,
 	.trigger	= stm32_adfsdm_trigger,
 	.pointer	= stm32_adfsdm_pcm_pointer,
-	.pcm_construct	= stm32_adfsdm_pcm_new,
+	.pcm_new	= stm32_adfsdm_pcm_new,
 };
 
 static const struct of_device_id stm32_adfsdm_of_match[] = {
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 25/29] ASoC: tegra: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (23 preceding siblings ...)
  2026-03-04  6:24 ` [PATCH 24/29] ASoC: stm: " Kuninori Morimoto
@ 2026-03-04  6:24 ` Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 26/29] ASoC: uniphier: " Kuninori Morimoto
                   ` (3 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/tegra/tegra210_admaif.c | 6 +++---
 sound/soc/tegra/tegra_pcm.c       | 6 +++---
 sound/soc/tegra/tegra_pcm.h       | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/sound/soc/tegra/tegra210_admaif.c b/sound/soc/tegra/tegra210_admaif.c
index 0976779d29f28..ecb0955266628 100644
--- a/sound/soc/tegra/tegra210_admaif.c
+++ b/sound/soc/tegra/tegra210_admaif.c
@@ -839,7 +839,7 @@ static struct snd_kcontrol_new tegra264_admaif_controls[] = {
 static const struct snd_soc_component_driver tegra210_admaif_cmpnt = {
 	.controls		= tegra210_admaif_controls,
 	.num_controls		= ARRAY_SIZE(tegra210_admaif_controls),
-	.pcm_construct		= tegra_pcm_construct,
+	.pcm_new		= tegra_pcm_new,
 	.open			= tegra_pcm_open,
 	.close			= tegra_pcm_close,
 	.hw_params		= tegra_pcm_hw_params,
@@ -849,7 +849,7 @@ static const struct snd_soc_component_driver tegra210_admaif_cmpnt = {
 static const struct snd_soc_component_driver tegra186_admaif_cmpnt = {
 	.controls		= tegra186_admaif_controls,
 	.num_controls		= ARRAY_SIZE(tegra186_admaif_controls),
-	.pcm_construct		= tegra_pcm_construct,
+	.pcm_new		= tegra_pcm_new,
 	.open			= tegra_pcm_open,
 	.close			= tegra_pcm_close,
 	.hw_params		= tegra_pcm_hw_params,
@@ -859,7 +859,7 @@ static const struct snd_soc_component_driver tegra186_admaif_cmpnt = {
 static const struct snd_soc_component_driver tegra264_admaif_cmpnt = {
 	.controls		= tegra264_admaif_controls,
 	.num_controls		= ARRAY_SIZE(tegra264_admaif_controls),
-	.pcm_construct		= tegra_pcm_construct,
+	.pcm_new		= tegra_pcm_new,
 	.open			= tegra_pcm_open,
 	.close			= tegra_pcm_close,
 	.hw_params		= tegra_pcm_hw_params,
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c
index 05d59e03b1c5e..c490a9e668586 100644
--- a/sound/soc/tegra/tegra_pcm.c
+++ b/sound/soc/tegra/tegra_pcm.c
@@ -204,8 +204,8 @@ static int tegra_pcm_dma_allocate(struct device *dev, struct snd_soc_pcm_runtime
 	return snd_pcm_set_fixed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_WC, dev, size);
 }
 
-int tegra_pcm_construct(struct snd_soc_component *component,
-			struct snd_soc_pcm_runtime *rtd)
+int tegra_pcm_new(struct snd_soc_component *component,
+		  struct snd_soc_pcm_runtime *rtd)
 {
 	struct device *dev = component->dev;
 
@@ -218,7 +218,7 @@ int tegra_pcm_construct(struct snd_soc_component *component,
 
 	return tegra_pcm_dma_allocate(dev, rtd, tegra_pcm_hardware.buffer_bytes_max);
 }
-EXPORT_SYMBOL_GPL(tegra_pcm_construct);
+EXPORT_SYMBOL_GPL(tegra_pcm_new);
 
 MODULE_AUTHOR("Stephen Warren <swarren@nvidia.com>");
 MODULE_DESCRIPTION("Tegra PCM ASoC driver");
diff --git a/sound/soc/tegra/tegra_pcm.h b/sound/soc/tegra/tegra_pcm.h
index 2a36eea1740dd..ad69ca9233da0 100644
--- a/sound/soc/tegra/tegra_pcm.h
+++ b/sound/soc/tegra/tegra_pcm.h
@@ -20,8 +20,8 @@
 #include <sound/dmaengine_pcm.h>
 #include <sound/asound.h>
 
-int tegra_pcm_construct(struct snd_soc_component *component,
-			struct snd_soc_pcm_runtime *rtd);
+int tegra_pcm_new(struct snd_soc_component *component,
+		  struct snd_soc_pcm_runtime *rtd);
 int tegra_pcm_open(struct snd_soc_component *component,
 		   struct snd_pcm_substream *substream);
 int tegra_pcm_close(struct snd_soc_component *component,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 26/29] ASoC: uniphier: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (24 preceding siblings ...)
  2026-03-04  6:24 ` [PATCH 25/29] ASoC: tegra: " Kuninori Morimoto
@ 2026-03-04  6:24 ` Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 27/29] ASoC: xilinx: " Kuninori Morimoto
                   ` (2 subsequent siblings)
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/uniphier/aio-dma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/uniphier/aio-dma.c b/sound/soc/uniphier/aio-dma.c
index 265d61723e99a..c1ca559971037 100644
--- a/sound/soc/uniphier/aio-dma.c
+++ b/sound/soc/uniphier/aio-dma.c
@@ -226,7 +226,7 @@ static const struct snd_soc_component_driver uniphier_soc_platform = {
 	.trigger	= uniphier_aiodma_trigger,
 	.pointer	= uniphier_aiodma_pointer,
 	.mmap		= uniphier_aiodma_mmap,
-	.pcm_construct	= uniphier_aiodma_new,
+	.pcm_new	= uniphier_aiodma_new,
 	.compress_ops	= &uniphier_aio_compress_ops,
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 27/29] ASoC: xilinx: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (25 preceding siblings ...)
  2026-03-04  6:24 ` [PATCH 26/29] ASoC: uniphier: " Kuninori Morimoto
@ 2026-03-04  6:24 ` Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 28/29] ASoC: xtensa: " Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 29/29] ASoC: soc-component: remove pcm_construct()/pcm_destruct() Kuninori Morimoto
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/xilinx/xlnx_formatter_pcm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/xilinx/xlnx_formatter_pcm.c b/sound/soc/xilinx/xlnx_formatter_pcm.c
index 04a4eae1bc92b..8f7a76758535b 100644
--- a/sound/soc/xilinx/xlnx_formatter_pcm.c
+++ b/sound/soc/xilinx/xlnx_formatter_pcm.c
@@ -582,7 +582,7 @@ static const struct snd_soc_component_driver xlnx_asoc_component = {
 	.hw_params		= xlnx_formatter_pcm_hw_params,
 	.trigger		= xlnx_formatter_pcm_trigger,
 	.pointer		= xlnx_formatter_pcm_pointer,
-	.pcm_construct		= xlnx_formatter_pcm_new,
+	.pcm_new		= xlnx_formatter_pcm_new,
 };
 
 static int xlnx_formatter_pcm_probe(struct platform_device *pdev)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 28/29] ASoC: xtensa: name back to pcm_new()/pcm_free()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (26 preceding siblings ...)
  2026-03-04  6:24 ` [PATCH 27/29] ASoC: xilinx: " Kuninori Morimoto
@ 2026-03-04  6:24 ` Kuninori Morimoto
  2026-03-04  6:24 ` [PATCH 29/29] ASoC: soc-component: remove pcm_construct()/pcm_destruct() Kuninori Morimoto
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

We have been used pcm_new()/pcm_free(), but switched to
pcm_construct()/pcm_destruct() to use extra parameters [1].

pcm_new()/free() had been removed [2], but each drivers are still
using such function naming. Let's name back to pcm_new()/pcm_free()
again.

[1] commit c64bfc906600 ("ASoC: soc-core: add new pcm_construct/pcmdestruct")
[2] commit e9067bb50278 ("ASoC: soc-component: remove snd_pcm_ops from component driver")

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/xtensa/xtfpga-i2s.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/xtensa/xtfpga-i2s.c b/sound/soc/xtensa/xtfpga-i2s.c
index 678ded059b959..9ad86c54e3ea1 100644
--- a/sound/soc/xtensa/xtfpga-i2s.c
+++ b/sound/soc/xtensa/xtfpga-i2s.c
@@ -481,7 +481,7 @@ static const struct snd_soc_component_driver xtfpga_i2s_component = {
 	.hw_params		= xtfpga_pcm_hw_params,
 	.trigger		= xtfpga_pcm_trigger,
 	.pointer		= xtfpga_pcm_pointer,
-	.pcm_construct		= xtfpga_pcm_new,
+	.pcm_new		= xtfpga_pcm_new,
 	.legacy_dai_naming	= 1,
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH 29/29] ASoC: soc-component: remove pcm_construct()/pcm_destruct()
  2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
                   ` (27 preceding siblings ...)
  2026-03-04  6:24 ` [PATCH 28/29] ASoC: xtensa: " Kuninori Morimoto
@ 2026-03-04  6:24 ` Kuninori Morimoto
  28 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-04  6:24 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound

All driver have switched to use pcm_new()/pcm_free(), let's remove
pcm_construct()/pcm_destruct().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 include/sound/soc-component.h        |  4 ----
 sound/soc/generic/audio-graph-card.c |  3 +--
 sound/soc/soc-component.c            | 10 +---------
 3 files changed, 2 insertions(+), 15 deletions(-)

diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h
index 0435ba376369a..60f73c4b0bbbb 100644
--- a/include/sound/soc-component.h
+++ b/include/sound/soc-component.h
@@ -86,10 +86,6 @@ struct snd_soc_component_driver {
 		     unsigned int reg, unsigned int val);
 
 	/* pcm creation and destruction */
-	int (*pcm_construct)(struct snd_soc_component *component,
-			     struct snd_soc_pcm_runtime *rtd);
-	void (*pcm_destruct)(struct snd_soc_component *component,
-			     struct snd_pcm *pcm);
 	int (*pcm_new)(struct snd_soc_component *component,
 		       struct snd_soc_pcm_runtime *rtd);
 	void (*pcm_free)(struct snd_soc_component *component,
diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c
index 74e8f2ab7ffc9..18ce4ee063509 100644
--- a/sound/soc/generic/audio-graph-card.c
+++ b/sound/soc/generic/audio-graph-card.c
@@ -76,8 +76,7 @@ static bool soc_component_is_pcm(struct snd_soc_dai_link_component *dlc)
 {
 	struct snd_soc_dai *dai = snd_soc_find_dai_with_mutex(dlc);
 
-	if (dai && (dai->component->driver->pcm_construct ||
-		    dai->component->driver->pcm_new ||
+	if (dai && (dai->component->driver->pcm_new ||
 		    (dai->driver->ops && dai->driver->ops->pcm_new)))
 		return true;
 
diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c
index 77ad333839744..0f5e120d32b71 100644
--- a/sound/soc/soc-component.c
+++ b/sound/soc/soc-component.c
@@ -1037,11 +1037,6 @@ int snd_soc_pcm_component_new(struct snd_soc_pcm_runtime *rtd)
 	int i;
 
 	for_each_rtd_components(rtd, i, component) {
-		if (component->driver->pcm_construct) {
-			ret = component->driver->pcm_construct(component, rtd);
-			if (ret < 0)
-				return soc_component_ret(component, ret);
-		}
 		if (component->driver->pcm_new) {
 			ret = component->driver->pcm_new(component, rtd);
 			if (ret < 0)
@@ -1060,12 +1055,9 @@ void snd_soc_pcm_component_free(struct snd_soc_pcm_runtime *rtd)
 	if (!rtd->pcm)
 		return;
 
-	for_each_rtd_components(rtd, i, component) {
-		if (component->driver->pcm_destruct)
-			component->driver->pcm_destruct(component, rtd->pcm);
+	for_each_rtd_components(rtd, i, component)
 		if (component->driver->pcm_free)
 			component->driver->pcm_free(component, rtd->pcm);
-	}
 }
 
 int snd_soc_pcm_component_prepare(struct snd_pcm_substream *substream)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [PATCH 22/29] ASoC: sof: name back to pcm_new()/pcm_free()
  2026-03-04  6:23 ` [PATCH 22/29] ASoC: sof: " Kuninori Morimoto
@ 2026-03-16  1:08   ` Mark Brown
  2026-03-16  4:57     ` Kuninori Morimoto
  0 siblings, 1 reply; 32+ messages in thread
From: Mark Brown @ 2026-03-16  1:08 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: linux-sound

[-- Attachment #1: Type: text/plain, Size: 389 bytes --]

On Wed, Mar 04, 2026 at 06:23:53AM +0000, Kuninori Morimoto wrote:
> We have been used pcm_new()/pcm_free(), but switched to
> pcm_construct()/pcm_destruct() to use extra parameters [1].
> 
> pcm_new()/free() had been removed [2], but each drivers are still
> using such function naming. Let's name back to pcm_new()/pcm_free()
> again.

This needs a rebase onto current for-7.1.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH 22/29] ASoC: sof: name back to pcm_new()/pcm_free()
  2026-03-16  1:08   ` Mark Brown
@ 2026-03-16  4:57     ` Kuninori Morimoto
  0 siblings, 0 replies; 32+ messages in thread
From: Kuninori Morimoto @ 2026-03-16  4:57 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-sound


Hi Mark

> > We have been used pcm_new()/pcm_free(), but switched to
> > pcm_construct()/pcm_destruct() to use extra parameters [1].
> > 
> > pcm_new()/free() had been removed [2], but each drivers are still
> > using such function naming. Let's name back to pcm_new()/pcm_free()
> > again.
> 
> This needs a rebase onto current for-7.1.

Thank you.
I have posted v2 patch-set.


Thank you for your help !!

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2026-03-16  4:58 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-04  6:22 [PATCH 00/29] ASoC: soc-component: re-add pcm_new()/pcm_free() Kuninori Morimoto
2026-03-04  6:22 ` [PATCH 01/29] " Kuninori Morimoto
2026-03-04  6:22 ` [PATCH 02/29] ASoC: amd: name back to pcm_new()/pcm_free() Kuninori Morimoto
2026-03-04  6:22 ` [PATCH 03/29] ASoC: apple: " Kuninori Morimoto
2026-03-04  6:22 ` [PATCH 04/29] ASoC: atmel: " Kuninori Morimoto
2026-03-04  6:22 ` [PATCH 05/29] ASoC: au1x: " Kuninori Morimoto
2026-03-04  6:22 ` [PATCH 06/29] ASoC: bcm: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 07/29] ASoC: codecs: cros_ec_codec: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 08/29] ASoC: codecs: rt5xxx-spi: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 09/29] ASoC: dwc: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 10/29] ASoC: fsl: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 11/29] ASoC: generic: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 12/29] ASoC: google: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 13/29] ASoC: intel: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 14/29] ASoC: kirkwood: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 15/29] ASoC: loongson: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 16/29] ASoC: mediatek: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 17/29] ASoC: pxa: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 18/29] ASoC: qcom: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 19/29] ASoC: renesas: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 20/29] ASoC: samsung: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 21/29] ASoC: soc-generic-dmaengine-pcm: " Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 22/29] ASoC: sof: " Kuninori Morimoto
2026-03-16  1:08   ` Mark Brown
2026-03-16  4:57     ` Kuninori Morimoto
2026-03-04  6:23 ` [PATCH 23/29] ASoC: sprd: " Kuninori Morimoto
2026-03-04  6:24 ` [PATCH 24/29] ASoC: stm: " Kuninori Morimoto
2026-03-04  6:24 ` [PATCH 25/29] ASoC: tegra: " Kuninori Morimoto
2026-03-04  6:24 ` [PATCH 26/29] ASoC: uniphier: " Kuninori Morimoto
2026-03-04  6:24 ` [PATCH 27/29] ASoC: xilinx: " Kuninori Morimoto
2026-03-04  6:24 ` [PATCH 28/29] ASoC: xtensa: " Kuninori Morimoto
2026-03-04  6:24 ` [PATCH 29/29] ASoC: soc-component: remove pcm_construct()/pcm_destruct() Kuninori Morimoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox