build/patch/kernel/meson64-dev/0011-FROMGIT-ASoC-core-allow-a-dt-node-to-provide-several.patch
Igor Pečovnik 03f380178d
Moving Meson64 to k5.6.y and u-boot 2020.04 (#1890)
* Move Meson64 to 5.6.y
* Move Meson64 U-boot to 2020.04

Tested on Odroid C2
* Merge, replace and update patches from Khadas branch
2020-04-17 09:07:43 +02:00

42 lines
1.4 KiB
Diff

From dc11cd4def83817faebd97368da4652c9f0fe17e Mon Sep 17 00:00:00 2001
From: Jerome Brunet <jbrunet@baylibre.com>
Date: Thu, 13 Feb 2020 16:51:51 +0100
Subject: [PATCH 011/101] FROMGIT: ASoC: core: allow a dt node to provide
several components
At the moment, querying the dai_name will stop of the first component
matching the dt node. This does not allow a device (single dt node) to
provide several ASoC components which could then be used through DT.
This change let the search go on if the xlate function of the component
returns an error, giving the possibility to another component to match
and return the dai_name.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
sound/soc/soc-core.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 068d809c349a..03b87427faa7 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -3102,6 +3102,14 @@ int snd_soc_get_dai_name(struct of_phandle_args *args,
*dai_name = dai->driver->name;
if (!*dai_name)
*dai_name = pos->name;
+ } else if (ret) {
+ /*
+ * if another error than ENOTSUPP is returned go on and
+ * check if another component is provided with the same
+ * node. This may happen if a device provides several
+ * components
+ */
+ continue;
}
break;
--
2.17.1