From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: "Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>,
"Mark Brown" <broonie@kernel.org>
Cc: Cezary Rojewski <cezary.rojewski@intel.com>,
Takashi Iwai <tiwai@suse.com>,
alsa-devel@alsa-project.org
Subject: Re: [PATCH 10/11] ASoC: topology: Use unload() op directly
Date: Wed, 25 Jan 2023 09:13:52 -0600 [thread overview]
Message-ID: <609b744a-1d5f-f390-45ad-9448cd5823ad@linux.intel.com> (raw)
In-Reply-To: <20230125194649.3485731-11-amadeuszx.slawinski@linux.intel.com>
On 1/25/23 13:46, Amadeusz Sławiński wrote:
> Generic dynamic object (struct snd_soc_dobj) needs pointer to unload
> function, however, instead of using function pointer to point at it
> directly it points to all topology operations. Change code to use the
> function pointer instead.
This is a convoluted explanation, and the code does not support this
last sentence.
There is no existing dobj 'function pointer', it's added by this patch ....
> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
> ---
> include/sound/soc-topology.h | 2 +-
> sound/soc/soc-topology.c | 56 ++++++++++++++++++++----------------
> 2 files changed, 33 insertions(+), 25 deletions(-)
>
> diff --git a/include/sound/soc-topology.h b/include/sound/soc-topology.h
> index b4b896f83b94..f055c6917f6c 100644
> --- a/include/sound/soc-topology.h
> +++ b/include/sound/soc-topology.h
> @@ -62,7 +62,7 @@ struct snd_soc_dobj {
> enum snd_soc_dobj_type type;
> unsigned int index; /* objects can belong in different groups */
> struct list_head list;
> - struct snd_soc_tplg_ops *ops;
> + int (*unload)(struct snd_soc_component *comp, struct snd_soc_dobj *dobj);
.... here
So what this changes is that instead of following the indirections ...
> union {
> struct snd_soc_dobj_control control;
> struct snd_soc_dobj_widget widget;
> diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
> index 6689cf44464c..eb49037d86ae 100644
> --- a/sound/soc/soc-topology.c
> +++ b/sound/soc/soc-topology.c
> @@ -359,8 +359,8 @@ static void soc_tplg_remove_mixer(struct snd_soc_component *comp,
> if (pass != SOC_TPLG_PASS_CONTROL)
> return;
>
> - if (dobj->ops && dobj->ops->control_unload)
> - dobj->ops->control_unload(comp, dobj);
> + if (dobj->unload)
> + dobj->unload(comp, dobj);
... here, you first need to set that pointer ....
>
> sbe->max = le32_to_cpu(be->max);
> sbe->dobj.type = SND_SOC_DOBJ_BYTES;
> - sbe->dobj.ops = tplg->ops;
> + if (tplg->ops)
> + sbe->dobj.unload = tplg->ops->control_unload;
... here.
I don't see the gain, sorry.
Edit: This removal only makes sense with the patch 11 added, where the
same function can be used to remove multiple types of control.
Please revisit the commit message here and explain the intent, otherwise
this change in isolation isn't really useful.
next prev parent reply other threads:[~2023-01-25 15:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 19:46 [PATCH 00/11] ASoC: topology: Fixes and cleanups Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 01/11] ASoC: topology: Properly access value coming from topology file Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 02/11] ASoC: topology: Remove unused SOC_TPLG_PASS_PINS constant Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 03/11] ASoC: topology: Fix typo in functions name Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 04/11] ASoC: topology: Fix function name Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 05/11] ASoC: topology: Rename remove_ handlers Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 06/11] ASoC: topology: Remove unnecessary forward declarations Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 07/11] ASoC: topology: Pass correct pointer instead of casting Amadeusz Sławiński
2023-01-25 15:05 ` Pierre-Louis Bossart
2023-01-25 19:46 ` [PATCH 08/11] ASoC: topology: Return an error on complete() failure Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 09/11] ASoC: Topology: Remove unnecessary check for EOF Amadeusz Sławiński
2023-01-25 19:46 ` [PATCH 10/11] ASoC: topology: Use unload() op directly Amadeusz Sławiński
2023-01-25 15:13 ` Pierre-Louis Bossart [this message]
2023-01-25 19:46 ` [PATCH 11/11] ASoC: topology: Unify kcontrol removal code Amadeusz Sławiński
2023-01-25 15:15 ` Pierre-Louis Bossart
2023-01-27 11:12 ` Amadeusz Sławiński
2023-01-27 13:38 ` Pierre-Louis Bossart
2023-01-27 15:09 ` Amadeusz Sławiński
2023-01-25 20:15 ` [PATCH 00/11] ASoC: topology: Fixes and cleanups Ranjani Sridharan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=609b744a-1d5f-f390-45ad-9448cd5823ad@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=amadeuszx.slawinski@linux.intel.com \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox