All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cezary Rojewski <cezary.rojewski@intel.com>
To: Lars-Peter Clausen <lars@metafoo.de>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: alsa-devel@alsa-project.org, olivier.moysan@st.com,
	alexandre.torgue@st.com, lgirdwood@gmail.com,
	arnaud.pouliquen@st.com, tiwai@suse.com, broonie@kernel.org,
	mcoquelin.stm32@gmail.com
Subject: Re: [PATCH 0/3] ASoC: core: Two step component registration
Date: Fri, 31 Jul 2020 18:09:00 +0200	[thread overview]
Message-ID: <a02ec298-6e45-cf5b-b3c0-fd9ee059ac25@intel.com> (raw)
In-Reply-To: <a6d3e9fb-4aa2-b75b-4535-037edb256112@metafoo.de>

On 2020-07-31 5:58 PM, Lars-Peter Clausen wrote:
> On 7/31/20 5:47 PM, Cezary Rojewski wrote:
>> On 2020-07-31 5:07 PM, Pierre-Louis Bossart wrote:
>>> On 7/31/20 9:41 AM, Cezary Rojewski wrote:
>>>> Provide a mechanism for true two-step component registration. This
>>>> mimics device registration flow where initialization is the first step
>>>> while addition goes as second in line. Drivers may choose to modify
>>>> component's fields before registering component to ASoC subsystem via
>>>> snd_soc_add_component.
>>>
>>> I must admit I don't see where this might be used for Intel 
>>> platforms, we've been happily using snd_soc_register_component() 
>>> without hitting limitations.
>>
>> Patchset targets entire ASoC framework, not Intel catalog. As 
>> _initialize and _add are already in place, having a two-step 
>> registration is cohesive with other "frameworks" e.g. device one.
>>
>> New to ASoC? Trying to learn soc-components? Guess what, 
>> creation/registration procedure is exactly the same as one you're used 
>> to already!
>>
>>> Also the only two uses of snd_soc_add_component() seem mainly driven 
>>> by memory allocation - and avoiding a devm_kzalloc in 
>>> snd_soc_register_component().
>>
>> In general, code quality and improvements to its flow should not 
>> require ton of usages. But hey, you got two already.
>>
>>> Out of curiosity, can you provide an example where this two-step 
>>> would be required or beneficial? Thanks!
>>
>> Overridding component->name which is currently always tied to 
>> fmt_single_name so you may choose a different name than the ->dev one.
> 
> For what it is worth, I think this is a sensible change for the outlined 
> reasons. It's something I've always had in the back of my mind, but 
> there was never enough of a need to actually do it.
> 
> One change I'd like to see is the addition of snd_soc_component_alloc(), 
> which combines the step of kzalloc() and snd_soc_component_init() as 
> these will be done pretty much always in lockstep. And it also matches 
> the APIs that other frameworks offer.
> 
> - Lars
> 

Nice, so it's not just me imagining things : D

In general granular registration is robust and scales well into the 
future. Components functionality will only grow in time so I bet 
usecases don't end on my example.

I'd suggest transition to _alloc/_init/other being separated from this 
patchset - let it serve as a middle step.

Czarek

  reply	other threads:[~2020-07-31 16:10 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-31 14:41 [PATCH 0/3] ASoC: core: Two step component registration Cezary Rojewski
2020-07-31 14:41 ` [PATCH 1/3] ASoC: core: Relocate and expose snd_soc_component_initialize Cezary Rojewski
2020-07-31 14:41 ` [PATCH 2/3] ASoC: core: Simplify snd_soc_component_initialize declaration Cezary Rojewski
2020-07-31 14:41 ` [PATCH 3/3] ASoC: core: Two step component registration Cezary Rojewski
2020-07-31 15:07 ` [PATCH 0/3] " Pierre-Louis Bossart
2020-07-31 15:47   ` Cezary Rojewski
2020-07-31 15:58     ` Lars-Peter Clausen
2020-07-31 16:09       ` Cezary Rojewski [this message]
2020-07-31 16:42       ` Mark Brown
2020-07-31 18:54 ` Mark Brown

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=a02ec298-6e45-cf5b-b3c0-fd9ee059ac25@intel.com \
    --to=cezary.rojewski@intel.com \
    --cc=alexandre.torgue@st.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnaud.pouliquen@st.com \
    --cc=broonie@kernel.org \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=olivier.moysan@st.com \
    --cc=pierre-louis.bossart@linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.