forked from Minki/linux
ASoC: simple-card: support platform in dts parse
Support platform in dts parse so that dma pcm component can be added in dts. Signed-off-by: Jun Nie <jun.nie@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b787f68c36
commit
e0ae225b7e
@ -307,6 +307,7 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
|
|||||||
struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx);
|
struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx);
|
||||||
struct simple_dai_props *dai_props = simple_priv_to_props(priv, idx);
|
struct simple_dai_props *dai_props = simple_priv_to_props(priv, idx);
|
||||||
struct device_node *cpu = NULL;
|
struct device_node *cpu = NULL;
|
||||||
|
struct device_node *plat = NULL;
|
||||||
struct device_node *codec = NULL;
|
struct device_node *codec = NULL;
|
||||||
char *name;
|
char *name;
|
||||||
char prop[128];
|
char prop[128];
|
||||||
@ -320,6 +321,9 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
|
|||||||
snprintf(prop, sizeof(prop), "%scpu", prefix);
|
snprintf(prop, sizeof(prop), "%scpu", prefix);
|
||||||
cpu = of_get_child_by_name(node, prop);
|
cpu = of_get_child_by_name(node, prop);
|
||||||
|
|
||||||
|
snprintf(prop, sizeof(prop), "%splat", prefix);
|
||||||
|
plat = of_get_child_by_name(node, prop);
|
||||||
|
|
||||||
snprintf(prop, sizeof(prop), "%scodec", prefix);
|
snprintf(prop, sizeof(prop), "%scodec", prefix);
|
||||||
codec = of_get_child_by_name(node, prop);
|
codec = of_get_child_by_name(node, prop);
|
||||||
|
|
||||||
@ -352,8 +356,16 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
|
|||||||
goto dai_link_of_err;
|
goto dai_link_of_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Simple Card assumes platform == cpu */
|
if (plat) {
|
||||||
dai_link->platform_of_node = dai_link->cpu_of_node;
|
struct of_phandle_args args;
|
||||||
|
|
||||||
|
ret = of_parse_phandle_with_args(plat, "sound-dai",
|
||||||
|
"#sound-dai-cells", 0, &args);
|
||||||
|
dai_link->platform_of_node = args.np;
|
||||||
|
} else {
|
||||||
|
/* Assumes platform == cpu */
|
||||||
|
dai_link->platform_of_node = dai_link->cpu_of_node;
|
||||||
|
}
|
||||||
|
|
||||||
/* DAI link name is created from CPU/CODEC dai name */
|
/* DAI link name is created from CPU/CODEC dai name */
|
||||||
name = devm_kzalloc(dev,
|
name = devm_kzalloc(dev,
|
||||||
|
Loading…
Reference in New Issue
Block a user