Re: [PATCH RFC v2 1/7] ASoC: core: If component doesn't have of_node use parent's node instead

2015-06-02 Thread Mark Brown
On Tue, May 26, 2015 at 09:59:05PM +0300, Jyri Sarha wrote:
 If an ASoC component device does not have a device tree node, use its
 parent's node instead, when looking for a matching DAI based on a
 device tree reference.

Applied, thanks.


signature.asc
Description: Digital signature


[PATCH RFC v2 1/7] ASoC: core: If component doesn't have of_node use parent's node instead

2015-05-26 Thread Jyri Sarha
If an ASoC component device does not have a device tree node, use its
parent's node instead, when looking for a matching DAI based on a
device tree reference.

This allows video device drivers to register a separate child device
for their ASoC side audio functionality.

Signed-off-by: Jyri Sarha jsa...@ti.com
---
 sound/soc/soc-core.c | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 2373252..b1bcff2 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -904,12 +904,17 @@ static struct snd_soc_dai *snd_soc_find_dai(
 {
struct snd_soc_component *component;
struct snd_soc_dai *dai;
+   struct device_node *component_of_node;
 
lockdep_assert_held(client_mutex);
 
/* Find CPU DAI from registered DAIs*/
list_for_each_entry(component, component_list, list) {
-   if (dlc-of_node  component-dev-of_node != dlc-of_node)
+   component_of_node = component-dev-of_node;
+   if (!component_of_node  component-dev-parent)
+   component_of_node = component-dev-parent-of_node;
+
+   if (dlc-of_node  component_of_node != dlc-of_node)
continue;
if (dlc-name  strcmp(component-name, dlc-name))
continue;
@@ -3488,11 +3493,16 @@ static int snd_soc_get_dai_name(struct of_phandle_args 
*args,
const char **dai_name)
 {
struct snd_soc_component *pos;
+   struct device_node *component_of_node;
int ret = -EPROBE_DEFER;
 
mutex_lock(client_mutex);
list_for_each_entry(pos, component_list, list) {
-   if (pos-dev-of_node != args-np)
+   component_of_node = pos-dev-of_node;
+   if (!component_of_node  pos-dev-parent)
+   component_of_node = pos-dev-parent-of_node;
+
+   if (component_of_node != args-np)
continue;
 
if (pos-driver-of_xlate_dai_name) {
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html