ASoC: soc-component: add snd_soc_component_of_xlate_dai_name()
Current ALSA SoC is directly using component->driver->xxx, thus, it is deep nested, and makes code difficult to read, and is not good for encapsulation. This patch adds new snd_soc_component_of_xlate_dai_name() and use it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87y30l4d0z.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
2c7b170481
commit
a2a3417525
|
@ -360,5 +360,8 @@ int snd_soc_component_probe(struct snd_soc_component *component);
|
|||
void snd_soc_component_remove(struct snd_soc_component *component);
|
||||
int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component,
|
||||
struct device_node *ep);
|
||||
int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component,
|
||||
struct of_phandle_args *args,
|
||||
const char **dai_name);
|
||||
|
||||
#endif /* __SOC_COMPONENT_H */
|
||||
|
|
|
@ -389,3 +389,13 @@ int snd_soc_component_of_xlate_dai_id(struct snd_soc_component *component,
|
|||
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component,
|
||||
struct of_phandle_args *args,
|
||||
const char **dai_name)
|
||||
{
|
||||
if (component->driver->of_xlate_dai_name)
|
||||
return component->driver->of_xlate_dai_name(component,
|
||||
args, dai_name);
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
|
|
@ -3358,11 +3358,8 @@ int snd_soc_get_dai_name(struct of_phandle_args *args,
|
|||
if (component_of_node != args->np)
|
||||
continue;
|
||||
|
||||
if (pos->driver->of_xlate_dai_name) {
|
||||
ret = pos->driver->of_xlate_dai_name(pos,
|
||||
args,
|
||||
dai_name);
|
||||
} else {
|
||||
ret = snd_soc_component_of_xlate_dai_name(pos, args, dai_name);
|
||||
if (ret == -ENOTSUPP) {
|
||||
struct snd_soc_dai *dai;
|
||||
int id = -1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue