On 04/24/2014 02:13 PM, Nicolin Chen wrote:
The current simple-card driver limits the DT node name to "sound". Any of other names is forbidden while actually we should allow DT to pass other node names.
And if this function is being called, the node must already have the compatible "simple-audio-card" in DTB. So there should be no need to check the name here.
Signed-off-by: Nicolin Chen Guangyu.Chen@freescale.com
sound/soc/generic/simple-card.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index 3f2e580..383a4a1 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -156,8 +156,7 @@ static int simple_card_dai_link_of(struct device_node *node, char *prefix = ""; int ret;
- if (!strcmp("sound", node->name))
prefix = "simple-audio-card,";
prefix = "simple-audio-card,";
daifmt = snd_soc_of_parse_daifmt(node, prefix, &bitclkmaster, &framemaster);
I think you have missed the point of selecting the prefix based on the node name.
Before the change the "simple-audio-card,"-prefix was only needed for dai-link properties and subnodes if the dai-link node was omitted in a single dai-link setup.
After your change the prefix is also needed for the properties and subnodes inside dai-link subnodes.
See the details in: Documentation/devicetree/bindings/sound/simple-card.txt
Maybe the implementation could have been more explicit, but I think the old behavior is more convenient. If we anyway decide to go with this change then at least the DT binding document should be updated.
Best regards, Jyri