ASoC: simple-card-utils: tidyup asoc_simple_card_parse_convert()
Current simple-card-utils has asoc_simple_card_parse_convert() to parse convert channel/rate for be_hw_params_fixup. But, it is parsing from top of node. If sound card had multi subnode, we need to parse it from each sub node. This patch tidyup asoc_simple_card_parse_convert() to allow parsing settings from each node. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
f31a171055
Коммит
a48bf02b35
|
@ -116,7 +116,8 @@ int asoc_simple_card_clean_reference(struct snd_soc_card *card);
|
||||||
|
|
||||||
void asoc_simple_card_convert_fixup(struct asoc_simple_card_data *data,
|
void asoc_simple_card_convert_fixup(struct asoc_simple_card_data *data,
|
||||||
struct snd_pcm_hw_params *params);
|
struct snd_pcm_hw_params *params);
|
||||||
void asoc_simple_card_parse_convert(struct device *dev, char *prefix,
|
void asoc_simple_card_parse_convert(struct device *dev,
|
||||||
|
struct device_node *np, char *prefix,
|
||||||
struct asoc_simple_card_data *data);
|
struct asoc_simple_card_data *data);
|
||||||
|
|
||||||
int asoc_simple_card_of_parse_routing(struct snd_soc_card *card,
|
int asoc_simple_card_of_parse_routing(struct snd_soc_card *card,
|
||||||
|
|
|
@ -204,7 +204,7 @@ static int asoc_graph_card_parse_of(struct graph_card_data *priv)
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
asoc_simple_card_parse_convert(dev, NULL, &priv->adata);
|
asoc_simple_card_parse_convert(dev, node, NULL, &priv->adata);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* it supports multi CPU, single CODEC only here
|
* it supports multi CPU, single CODEC only here
|
||||||
|
|
|
@ -32,10 +32,11 @@ void asoc_simple_card_convert_fixup(struct asoc_simple_card_data *data,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(asoc_simple_card_convert_fixup);
|
EXPORT_SYMBOL_GPL(asoc_simple_card_convert_fixup);
|
||||||
|
|
||||||
void asoc_simple_card_parse_convert(struct device *dev, char *prefix,
|
void asoc_simple_card_parse_convert(struct device *dev,
|
||||||
|
struct device_node *np,
|
||||||
|
char *prefix,
|
||||||
struct asoc_simple_card_data *data)
|
struct asoc_simple_card_data *data)
|
||||||
{
|
{
|
||||||
struct device_node *np = dev->of_node;
|
|
||||||
char prop[128];
|
char prop[128];
|
||||||
|
|
||||||
if (!prefix)
|
if (!prefix)
|
||||||
|
|
|
@ -202,7 +202,7 @@ static int asoc_simple_card_parse_of(struct simple_card_data *priv)
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
asoc_simple_card_parse_convert(dev, PREFIX, &priv->adata);
|
asoc_simple_card_parse_convert(dev, node, PREFIX, &priv->adata);
|
||||||
|
|
||||||
/* find 1st codec */
|
/* find 1st codec */
|
||||||
np = of_get_child_by_name(node, PREFIX "codec");
|
np = of_get_child_by_name(node, PREFIX "codec");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче