ASoC: soc-core: add snd_soc_of_parse_node_prefix()
Current ASoC has snd_soc_of_parse_audio_prefix() to get codec_conf settings from DT which is used to avoid DAI naming conflict when CPU/Codec matching. Currently, it is parsing from "top node", but, we want to parse from "each sub node" if sound card had multi cpus/codecs. This patch adds new snd_soc_of_parse_node_prefix() to allow parsing settings from selected node. It is keeping existing snd_soc_of_parse_audio_prefix() by using macro. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
6debd01a74
Коммит
3b7103562c
|
@ -1477,10 +1477,14 @@ int snd_soc_of_parse_tdm_slot(struct device_node *np,
|
|||
unsigned int *rx_mask,
|
||||
unsigned int *slots,
|
||||
unsigned int *slot_width);
|
||||
void snd_soc_of_parse_audio_prefix(struct snd_soc_card *card,
|
||||
void snd_soc_of_parse_node_prefix(struct device_node *np,
|
||||
struct snd_soc_codec_conf *codec_conf,
|
||||
struct device_node *of_node,
|
||||
const char *propname);
|
||||
#define snd_soc_of_parse_audio_prefix(card, conf, node, name) \
|
||||
snd_soc_of_parse_node_prefix((card)->dev->of_node, \
|
||||
(conf), (node), (name))
|
||||
|
||||
int snd_soc_of_parse_audio_routing(struct snd_soc_card *card,
|
||||
const char *propname);
|
||||
unsigned int snd_soc_of_parse_daifmt(struct device_node *np,
|
||||
|
|
|
@ -3484,12 +3484,11 @@ int snd_soc_of_parse_tdm_slot(struct device_node *np,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_of_parse_tdm_slot);
|
||||
|
||||
void snd_soc_of_parse_audio_prefix(struct snd_soc_card *card,
|
||||
struct snd_soc_codec_conf *codec_conf,
|
||||
struct device_node *of_node,
|
||||
const char *propname)
|
||||
void snd_soc_of_parse_node_prefix(struct device_node *np,
|
||||
struct snd_soc_codec_conf *codec_conf,
|
||||
struct device_node *of_node,
|
||||
const char *propname)
|
||||
{
|
||||
struct device_node *np = card->dev->of_node;
|
||||
const char *str;
|
||||
int ret;
|
||||
|
||||
|
@ -3502,7 +3501,7 @@ void snd_soc_of_parse_audio_prefix(struct snd_soc_card *card,
|
|||
codec_conf->of_node = of_node;
|
||||
codec_conf->name_prefix = str;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_of_parse_audio_prefix);
|
||||
EXPORT_SYMBOL_GPL(snd_soc_of_parse_node_prefix);
|
||||
|
||||
int snd_soc_of_parse_audio_routing(struct snd_soc_card *card,
|
||||
const char *propname)
|
||||
|
|
Загрузка…
Ссылка в новой задаче