ASoC: intel: avs: use snd_soc_register_component()

It is calling snd_soc_component_initialize() / snd_soc_add_component().
We can now use snd_soc_register_component() instead.

It is using container_of() to get avs_soc_component from component, but
will not be able to use it when capsuling has done.
We can now use snd_soc_component_to_priv() instead.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/87pl0erz7k.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Kuninori Morimoto 2026-07-23 06:34:39 +00:00 committed by Mark Brown
parent d99690513a
commit 6105b0c10c
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
3 changed files with 14 additions and 12 deletions

View File

@ -336,14 +336,13 @@ int avs_icl_load_basefw(struct avs_dev *adev, struct firmware *fw);
/* Soc component members */
struct avs_soc_component {
struct snd_soc_component base;
struct snd_soc_component *base;
struct avs_tplg *tplg;
struct list_head node;
};
#define to_avs_soc_component(comp) \
container_of(comp, struct avs_soc_component, base)
#define to_avs_soc_component(comp) snd_soc_component_to_priv(comp)
extern const struct snd_soc_dai_ops avs_dai_fe_ops;

View File

@ -106,7 +106,7 @@ static void avs_dsp_recovery(struct avs_dev *adev)
struct snd_soc_pcm_runtime *rtd;
struct snd_soc_card *card;
card = acomp->base.card;
card = acomp->base->card;
if (!card)
continue;

View File

@ -958,7 +958,7 @@ static const struct file_operations topology_name_fops = {
static int avs_component_load_libraries(struct avs_soc_component *acomp)
{
struct avs_tplg *tplg = acomp->tplg;
struct avs_dev *adev = to_avs_dev(acomp->base.dev);
struct avs_dev *adev = to_avs_dev(acomp->base->dev);
int ret;
if (!tplg->num_libs)
@ -1387,25 +1387,28 @@ int avs_register_component(struct device *dev, const char *name,
struct snd_soc_dai_driver *cpu_dais, int num_cpu_dais)
{
struct avs_soc_component *acomp;
int ret;
const char *comp_name;
acomp = devm_kzalloc(dev, sizeof(*acomp), GFP_KERNEL);
if (!acomp)
return -ENOMEM;
acomp->base.name = devm_kstrdup(dev, name, GFP_KERNEL);
if (!acomp->base.name)
acomp->base = snd_soc_component_alloc(dev);
if (!acomp->base)
return -ENOMEM;
comp_name = devm_kstrdup(dev, name, GFP_KERNEL);
if (!comp_name)
return -ENOMEM;
INIT_LIST_HEAD(&acomp->node);
drv->use_dai_pcm_id = !obsolete_card_names;
ret = snd_soc_component_initialize(&acomp->base, drv, dev);
if (ret < 0)
return ret;
snd_soc_component_set_name(acomp->base, comp_name);
snd_soc_component_set_priv(acomp->base, acomp);
return snd_soc_add_component(&acomp->base, cpu_dais, num_cpu_dais);
return snd_soc_register_component(acomp->base, drv, cpu_dais, num_cpu_dais);
}
static struct snd_soc_dai_driver dmic_cpu_dais[] = {