Commit 9d9b1828 authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Mark Brown

ASoC: mediatek: Add common mtk_afe_component_probe callback

Multiple MediaTek AFE PCM component drivers are using their own .probe()
callback, but most of those are simply duplicated functions as they are
doing exactly the same thing over and over.

Add a common probe callback for this component to reduce duplication.
Reviewed-by: default avatarAlexandre Mergnat <amergnat@baylibre.com>
Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240416071410.75620-12-angelogioacchino.delregno@collabora.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent f103ce4f
...@@ -126,10 +126,28 @@ int mtk_afe_pcm_new(struct snd_soc_component *component, ...@@ -126,10 +126,28 @@ int mtk_afe_pcm_new(struct snd_soc_component *component,
} }
EXPORT_SYMBOL_GPL(mtk_afe_pcm_new); EXPORT_SYMBOL_GPL(mtk_afe_pcm_new);
static int mtk_afe_component_probe(struct snd_soc_component *component)
{
struct mtk_base_afe *afe = snd_soc_component_get_drvdata(component);
int ret;
snd_soc_component_init_regmap(component, afe->regmap);
/* If the list was never initialized there are no sub-DAIs */
if (afe->sub_dais.next && afe->sub_dais.prev) {
ret = mtk_afe_add_sub_dai_control(component);
if (ret)
return ret;
}
return 0;
}
const struct snd_soc_component_driver mtk_afe_pcm_platform = { const struct snd_soc_component_driver mtk_afe_pcm_platform = {
.name = AFE_PCM_NAME, .name = AFE_PCM_NAME,
.pointer = mtk_afe_pcm_pointer, .pointer = mtk_afe_pcm_pointer,
.pcm_construct = mtk_afe_pcm_new, .pcm_construct = mtk_afe_pcm_new,
.probe = mtk_afe_component_probe,
}; };
EXPORT_SYMBOL_GPL(mtk_afe_pcm_platform); EXPORT_SYMBOL_GPL(mtk_afe_pcm_platform);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment