"parse error" is misleading: it made me think the device tree contains
syntax errors, or phandles of the wrong type were passed to the
simple-audio-card node. Instead in my case, the `sound-dai` subnode of
`simple-audio-card,cpu` was referring to an uninitialized device, because
its kernel module wasn't loaded yet.
As far as I understood, simple_probe fails when components composing
the sound card are missing or simply not ready.
Signed-off-by: Fabio Forni <development@redaril.me>
---
sound/soc/generic/simple-card.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index 8d36cbbfca1d..298f8cc98130 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -806,7 +806,7 @@ static int simple_probe(struct platform_device *pdev)
err:
simple_util_clean_reference(card);
end:
- return dev_err_probe(dev, ret, "parse error\n");
+ return dev_err_probe(dev, ret, "components missing or uninitialized\n");
}
static const struct of_device_id simple_of_match[] = {
--
2.52.0