ASoC: soc-core: adjust for graph on snd_soc_of_parse_audio_prefix

It is assuming that the card related information is located on
"card" node, but graph case doesn't have it.
This patch adds node parameter to adjust for graph support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Kuninori Morimoto 2016-11-11 01:19:03 +00:00 committed by Mark Brown
parent 1ad8ec535b
commit b6defcca0a
2 changed files with 11 additions and 4 deletions

View File

@ -1651,7 +1651,11 @@ int snd_soc_of_parse_tdm_slot(struct device_node *np,
unsigned int *rx_mask, unsigned int *rx_mask,
unsigned int *slots, unsigned int *slots,
unsigned int *slot_width); unsigned int *slot_width);
void snd_soc_of_parse_audio_prefix(struct snd_soc_card *card, #define snd_soc_of_parse_audio_prefix(card, codec_conf, of_node, propname) \
snd_soc_of_parse_audio_prefix_from_node(card, NULL, codec_conf, \
of_node, propname)
void snd_soc_of_parse_audio_prefix_from_node(struct snd_soc_card *card,
struct device_node *np,
struct snd_soc_codec_conf *codec_conf, struct snd_soc_codec_conf *codec_conf,
struct device_node *of_node, struct device_node *of_node,
const char *propname); const char *propname);

View File

@ -3595,15 +3595,18 @@ int snd_soc_of_parse_tdm_slot(struct device_node *np,
} }
EXPORT_SYMBOL_GPL(snd_soc_of_parse_tdm_slot); EXPORT_SYMBOL_GPL(snd_soc_of_parse_tdm_slot);
void snd_soc_of_parse_audio_prefix(struct snd_soc_card *card, void snd_soc_of_parse_audio_prefix_from_node(struct snd_soc_card *card,
struct device_node *np,
struct snd_soc_codec_conf *codec_conf, struct snd_soc_codec_conf *codec_conf,
struct device_node *of_node, struct device_node *of_node,
const char *propname) const char *propname)
{ {
struct device_node *np = card->dev->of_node;
const char *str; const char *str;
int ret; int ret;
if (!np)
np = card->dev->of_node;
ret = of_property_read_string(np, propname, &str); ret = of_property_read_string(np, propname, &str);
if (ret < 0) { if (ret < 0) {
/* no prefix is not error */ /* no prefix is not error */
@ -3613,7 +3616,7 @@ void snd_soc_of_parse_audio_prefix(struct snd_soc_card *card,
codec_conf->of_node = of_node; codec_conf->of_node = of_node;
codec_conf->name_prefix = str; codec_conf->name_prefix = str;
} }
EXPORT_SYMBOL_GPL(snd_soc_of_parse_audio_prefix); EXPORT_SYMBOL_GPL(snd_soc_of_parse_audio_prefix_from_node);
int snd_soc_of_parse_audio_routing_from_node(struct snd_soc_card *card, int snd_soc_of_parse_audio_routing_from_node(struct snd_soc_card *card,
struct device_node *np, struct device_node *np,