summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/soc-core.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 1b94119cfb0d..e6b95b7e2737 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -780,22 +780,18 @@ static int snd_soc_is_matching_component(
}
static struct snd_soc_component *soc_find_component(
- const struct device_node *of_node, const char *name)
+ struct device_node *of_node, const char *name)
{
struct snd_soc_component *component;
- struct device_node *component_of_node;
+ struct snd_soc_dai_link_component dlc;
lockdep_assert_held(&client_mutex);
for_each_component(component) {
- if (of_node) {
- component_of_node = soc_component_to_node(component);
-
- if (component_of_node == of_node)
- return component;
- } else if (name && strcmp(component->name, name) == 0) {
+ dlc.name = name;
+ dlc.of_node = of_node;
+ if (snd_soc_is_matching_component(&dlc, component))
return component;
- }
}
return NULL;