Alsa-Devel Archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ASoC: soc-dapm.c: random cleanup
@ 2022-09-05 23:17 Kuninori Morimoto
  2022-09-05 23:17 ` [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Kuninori Morimoto @ 2022-09-05 23:17 UTC (permalink / raw
  To: Mark Brown; +Cc: Linux-ALSA


Hi Mark

These are cleanup patches for soc-dapm.c.
Each patches are not related, very random cleanup.

Kuninori Morimoto (4):
  ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu()
  ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu()
  ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu()
  ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling

 sound/soc/soc-dapm.c | 77 +++++++++++++++++++-------------------------
 1 file changed, 33 insertions(+), 44 deletions(-)

-- 
2.25.1


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

* [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu()
  2022-09-05 23:17 [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Kuninori Morimoto
@ 2022-09-05 23:17 ` Kuninori Morimoto
  2022-09-06 12:02   ` Mark Brown
  2022-09-05 23:17 ` [PATCH 2/4] ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Kuninori Morimoto @ 2022-09-05 23:17 UTC (permalink / raw
  To: Mark Brown; +Cc: Linux-ALSA

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Current snd_soc_dai_link_event_pre_pmu() is using kzalloc() / kfree()
for "params", but it is fixed size, and not used on private data.
It is used for setup rtd at end of this function, just a local variable.
We don't need to use kzalloc() / kfree() for it.
This patch replace it as local variable.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/soc-dapm.c | 38 +++++++++++++++-----------------------
 1 file changed, 15 insertions(+), 23 deletions(-)

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 73b8bd452ca7..7d4e4068f870 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3837,15 +3837,13 @@ snd_soc_dai_link_event_pre_pmu(struct snd_soc_dapm_widget *w,
 	struct snd_soc_dapm_path *path;
 	struct snd_soc_dai *source, *sink;
 	struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
-	struct snd_pcm_hw_params *params = NULL;
+	struct snd_pcm_hw_params params;
 	const struct snd_soc_pcm_stream *config = NULL;
 	struct snd_pcm_runtime *runtime = NULL;
 	unsigned int fmt;
 	int ret = 0;
 
-	params = kzalloc(sizeof(*params), GFP_KERNEL);
-	if (!params)
-		return -ENOMEM;
+	memset(&params, 0, sizeof(params));
 
 	runtime = kzalloc(sizeof(*runtime), GFP_KERNEL);
 	if (!runtime) {
@@ -3902,45 +3900,39 @@ snd_soc_dai_link_event_pre_pmu(struct snd_soc_dapm_widget *w,
 		goto out;
 	}
 
-	snd_mask_set(hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT), fmt);
-	hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE)->min =
-		config->rate_min;
-	hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE)->max =
-		config->rate_max;
-	hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS)->min
-		= config->channels_min;
-	hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS)->max
-		= config->channels_max;
+	snd_mask_set(hw_param_mask(&params, SNDRV_PCM_HW_PARAM_FORMAT), fmt);
+	hw_param_interval(&params, SNDRV_PCM_HW_PARAM_RATE)->min	= config->rate_min;
+	hw_param_interval(&params, SNDRV_PCM_HW_PARAM_RATE)->max	= config->rate_max;
+	hw_param_interval(&params, SNDRV_PCM_HW_PARAM_CHANNELS)->min	= config->channels_min;
+	hw_param_interval(&params, SNDRV_PCM_HW_PARAM_CHANNELS)->max	= config->channels_max;
 
 	substream->stream = SNDRV_PCM_STREAM_CAPTURE;
 	snd_soc_dapm_widget_for_each_source_path(w, path) {
 		source = path->source->priv;
 
-		ret = snd_soc_dai_hw_params(source, substream, params);
+		ret = snd_soc_dai_hw_params(source, substream, &params);
 		if (ret < 0)
 			goto out;
 
-		dapm_update_dai_unlocked(substream, params, source);
+		dapm_update_dai_unlocked(substream, &params, source);
 	}
 
 	substream->stream = SNDRV_PCM_STREAM_PLAYBACK;
 	snd_soc_dapm_widget_for_each_sink_path(w, path) {
 		sink = path->sink->priv;
 
-		ret = snd_soc_dai_hw_params(sink, substream, params);
+		ret = snd_soc_dai_hw_params(sink, substream, &params);
 		if (ret < 0)
 			goto out;
 
-		dapm_update_dai_unlocked(substream, params, sink);
+		dapm_update_dai_unlocked(substream, &params, sink);
 	}
 
-	runtime->format = params_format(params);
-	runtime->subformat = params_subformat(params);
-	runtime->channels = params_channels(params);
-	runtime->rate = params_rate(params);
-
+	runtime->format		= params_format(&params);
+	runtime->subformat	= params_subformat(&params);
+	runtime->channels	= params_channels(&params);
+	runtime->rate		= params_rate(&params);
 out:
-	kfree(params);
 	return ret;
 }
 
-- 
2.25.1


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

* [PATCH 2/4] ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu()
  2022-09-05 23:17 [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Kuninori Morimoto
  2022-09-05 23:17 ` [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
@ 2022-09-05 23:17 ` Kuninori Morimoto
  2022-09-05 23:17 ` [PATCH 3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Kuninori Morimoto @ 2022-09-05 23:17 UTC (permalink / raw
  To: Mark Brown; +Cc: Linux-ALSA

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Current snd_soc_dai_link_event_pre_pmu() is checking "config".
It is using dev_err() (A) if it was NULL, so we don't need to use
WARN_ON() (B) to check it, it is over-kill. This patch removes it.

(B)	if (WARN_ON(!config)) {
(A)		dev_err(...);
		...
	}

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

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 7d4e4068f870..bc7d64b570b4 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3883,7 +3883,7 @@ snd_soc_dai_link_event_pre_pmu(struct snd_soc_dapm_widget *w,
 	 * necessary
 	 */
 	config = rtd->dai_link->params + rtd->params_select;
-	if (WARN_ON(!config)) {
+	if (!config) {
 		dev_err(w->dapm->dev, "ASoC: link config missing\n");
 		ret = -EINVAL;
 		goto out;
-- 
2.25.1


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

* [PATCH 3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu()
  2022-09-05 23:17 [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Kuninori Morimoto
  2022-09-05 23:17 ` [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
  2022-09-05 23:17 ` [PATCH 2/4] ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
@ 2022-09-05 23:17 ` Kuninori Morimoto
  2022-09-07 11:42   ` Mark Brown
  2022-09-05 23:17 ` [PATCH 4/4] ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling Kuninori Morimoto
  2022-09-07 13:37 ` (subset) [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Mark Brown
  4 siblings, 1 reply; 9+ messages in thread
From: Kuninori Morimoto @ 2022-09-05 23:17 UTC (permalink / raw
  To: Mark Brown; +Cc: Linux-ALSA


From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

snd_soc_dai_link_event_pre_pmu() is using if/else for config->formats
check, but "else" case is for just error.
Unnecessary if/else is not good for readable code. this patch checks
if config->formats was zero and call "goto out" in such case.

[not readable]
	if (config->formats) {
(A)		fmt = ...
	} else {
		...
(B)		goto err;
	}

[readable]
	if (!config->formats) {
		...
(B)		goto err;
	}

(A)	fmt = ...

Moreover, we don't need to indicate config->formats value in error message,
because it is zero.

=>	if (config->formats) {
		...
	} else {
		dev_warn(w->dapm->dev, "ASoC: Invalid format %llx specified\n",
=>			 config->formats);
		...
	}

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

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index bc7d64b570b4..e8c813586b53 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3890,16 +3890,14 @@ snd_soc_dai_link_event_pre_pmu(struct snd_soc_dapm_widget *w,
 	}
 
 	/* Be a little careful as we don't want to overflow the mask array */
-	if (config->formats) {
-		fmt = ffs(config->formats) - 1;
-	} else {
-		dev_warn(w->dapm->dev, "ASoC: Invalid format %llx specified\n",
-			 config->formats);
-
+	if (!config->formats) {
+		dev_warn(w->dapm->dev, "ASoC: Invalid format was specified\n");
 		ret = -EINVAL;
 		goto out;
 	}
 
+	fmt = ffs(config->formats) - 1;
+
 	snd_mask_set(hw_param_mask(&params, SNDRV_PCM_HW_PARAM_FORMAT), fmt);
 	hw_param_interval(&params, SNDRV_PCM_HW_PARAM_RATE)->min	= config->rate_min;
 	hw_param_interval(&params, SNDRV_PCM_HW_PARAM_RATE)->max	= config->rate_max;
-- 
2.25.1


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

* [PATCH 4/4] ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling
  2022-09-05 23:17 [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Kuninori Morimoto
                   ` (2 preceding siblings ...)
  2022-09-05 23:17 ` [PATCH 3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
@ 2022-09-05 23:17 ` Kuninori Morimoto
  2022-09-07 13:37 ` (subset) [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Mark Brown
  4 siblings, 0 replies; 9+ messages in thread
From: Kuninori Morimoto @ 2022-09-05 23:17 UTC (permalink / raw
  To: Mark Brown; +Cc: Linux-ALSA

From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Current snd_soc_dapm_new_control_unlocked() error handling is wrong.
It is using "goto request_failed" (A), but error message is using
"w->name" (B) which is not yet created in such timing.

	snd_soc_dapm_new_control_unlocked(xxx)
	{
		...
		switch (w->id) {
		case xxx:
			...
			if (IS_ERR(...)) {
				ret = PTR_ERR(...);
(A)				goto request_failed;
			}
		...
		}

		prefix = soc_dapm_prefix(...);
		if (prefix)
(B)			w->name = kasprintf(...);
		else
(B)			w->name = kstrdup_const(...);
		...

(A)	request_failed:
		if (ret != -EPROBE_DEFER)
(B)			dev_err(..., w->name, ...);

		return ...;
	}

we can create "w->name" at beginning of this function.
In such case, we need to call kfree_const(w->name) at error case.
This patch do these.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 sound/soc/soc-dapm.c | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index e8c813586b53..928e3bfe7457 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3630,10 +3630,18 @@ snd_soc_dapm_new_control_unlocked(struct snd_soc_dapm_context *dapm,
 	enum snd_soc_dapm_direction dir;
 	struct snd_soc_dapm_widget *w;
 	const char *prefix;
-	int ret;
+	int ret = -ENOMEM;
 
 	if ((w = dapm_cnew_widget(widget)) == NULL)
-		return ERR_PTR(-ENOMEM);
+		goto cnew_failed;
+
+	prefix = soc_dapm_prefix(dapm);
+	if (prefix)
+		w->name = kasprintf(GFP_KERNEL, "%s %s", prefix, widget->name);
+	else
+		w->name = kstrdup_const(widget->name, GFP_KERNEL);
+	if (!w->name)
+		goto name_failed;
 
 	switch (w->id) {
 	case snd_soc_dapm_regulator_supply:
@@ -3672,17 +3680,6 @@ snd_soc_dapm_new_control_unlocked(struct snd_soc_dapm_context *dapm,
 		break;
 	}
 
-	prefix = soc_dapm_prefix(dapm);
-	if (prefix)
-		w->name = kasprintf(GFP_KERNEL, "%s %s", prefix, widget->name);
-	else
-		w->name = kstrdup_const(widget->name, GFP_KERNEL);
-	if (w->name == NULL) {
-		kfree_const(w->sname);
-		kfree(w);
-		return ERR_PTR(-ENOMEM);
-	}
-
 	switch (w->id) {
 	case snd_soc_dapm_mic:
 		w->is_ep = SND_SOC_DAPM_EP_SOURCE;
@@ -3770,9 +3767,11 @@ snd_soc_dapm_new_control_unlocked(struct snd_soc_dapm_context *dapm,
 	if (ret != -EPROBE_DEFER)
 		dev_err(dapm->dev, "ASoC: Failed to request %s: %d\n",
 			w->name, ret);
-
+	kfree_const(w->name);
+name_failed:
 	kfree_const(w->sname);
 	kfree(w);
+cnew_failed:
 	return ERR_PTR(ret);
 }
 
-- 
2.25.1


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

* Re: [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu()
  2022-09-05 23:17 ` [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
@ 2022-09-06 12:02   ` Mark Brown
  2022-09-06 23:52     ` Kuninori Morimoto
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Brown @ 2022-09-06 12:02 UTC (permalink / raw
  To: Kuninori Morimoto; +Cc: Linux-ALSA

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

On Mon, Sep 05, 2022 at 11:17:29PM +0000, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> Current snd_soc_dai_link_event_pre_pmu() is using kzalloc() / kfree()
> for "params", but it is fixed size, and not used on private data.
> It is used for setup rtd at end of this function, just a local variable.
> We don't need to use kzalloc() / kfree() for it.
> This patch replace it as local variable.

The reason we're allocating it dynamically is that it's quite large (608
bytes on arm64) and is starting to get a bit excessive for allocation on
the stack, especially when you're building with some of the KASAN type
stuff that increases stack usage.

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

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

* Re: [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu()
  2022-09-06 12:02   ` Mark Brown
@ 2022-09-06 23:52     ` Kuninori Morimoto
  0 siblings, 0 replies; 9+ messages in thread
From: Kuninori Morimoto @ 2022-09-06 23:52 UTC (permalink / raw
  To: Mark Brown; +Cc: Linux-ALSA


Hi Mark

> > Current snd_soc_dai_link_event_pre_pmu() is using kzalloc() / kfree()
> > for "params", but it is fixed size, and not used on private data.
> > It is used for setup rtd at end of this function, just a local variable.
> > We don't need to use kzalloc() / kfree() for it.
> > This patch replace it as local variable.
> 
> The reason we're allocating it dynamically is that it's quite large (608
> bytes on arm64) and is starting to get a bit excessive for allocation on
> the stack, especially when you're building with some of the KASAN type
> stuff that increases stack usage.

Oh, I see.
Thank you for clearing the reason.
I think it is very nice to have such comment on the code.

Thank you for your help !!

Best regards
---
Kuninori Morimoto

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

* Re: [PATCH 3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu()
  2022-09-05 23:17 ` [PATCH 3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
@ 2022-09-07 11:42   ` Mark Brown
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Brown @ 2022-09-07 11:42 UTC (permalink / raw
  To: Kuninori Morimoto; +Cc: Linux-ALSA

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

On Mon, Sep 05, 2022 at 11:17:50PM +0000, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> 
> snd_soc_dai_link_event_pre_pmu() is using if/else for config->formats
> check, but "else" case is for just error.
> Unnecessary if/else is not good for readable code. this patch checks
> if config->formats was zero and call "goto out" in such case.

This isn't applying for me, I suspect it depends on patch 1 though I
didn't check properly.

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

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

* Re: (subset) [PATCH 0/4] ASoC: soc-dapm.c: random cleanup
  2022-09-05 23:17 [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Kuninori Morimoto
                   ` (3 preceding siblings ...)
  2022-09-05 23:17 ` [PATCH 4/4] ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling Kuninori Morimoto
@ 2022-09-07 13:37 ` Mark Brown
  4 siblings, 0 replies; 9+ messages in thread
From: Mark Brown @ 2022-09-07 13:37 UTC (permalink / raw
  To: Kuninori Morimoto; +Cc: Linux-ALSA

On Mon, 5 Sep 2022 23:17:11 +0000, Kuninori Morimoto wrote:
> These are cleanup patches for soc-dapm.c.
> Each patches are not related, very random cleanup.
> 
> Kuninori Morimoto (4):
>   ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu()
>   ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu()
>   ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu()
>   ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[2/4] ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu()
      commit: 427de091a7112aa8eaf2f689e95c0dbca5ea6543
[3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu()
      (no commit info)
[4/4] ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling
      commit: 3caac759681eeb31ac80e3cc14b972680c8bde54

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] 9+ messages in thread

end of thread, other threads:[~2022-09-07 13:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-05 23:17 [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Kuninori Morimoto
2022-09-05 23:17 ` [PATCH 1/4] ASoC: soc-dapm.c: don't use kzalloc() for param on snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
2022-09-06 12:02   ` Mark Brown
2022-09-06 23:52     ` Kuninori Morimoto
2022-09-05 23:17 ` [PATCH 2/4] ASoC: soc-dapm.c: don't use WARN_ON() at snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
2022-09-05 23:17 ` [PATCH 3/4] ASoC: soc-dapm.c: tidyup snd_soc_dai_link_event_pre_pmu() Kuninori Morimoto
2022-09-07 11:42   ` Mark Brown
2022-09-05 23:17 ` [PATCH 4/4] ASoC: soc-dapm.c: fixup snd_soc_dapm_new_control_unlocked() error handling Kuninori Morimoto
2022-09-07 13:37 ` (subset) [PATCH 0/4] ASoC: soc-dapm.c: random cleanup Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).