OSDN Git Service

ASoC: codecs: lpass-wsa-macro: parse clock-output-names
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 3 Nov 2022 19:53:40 +0000 (15:53 -0400)
committerMark Brown <broonie@kernel.org>
Thu, 10 Nov 2022 21:36:24 +0000 (21:36 +0000)
If we have several instances of WSA macro, each one of them should
register clock with unique name, so parse clock-output-names for this.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221103195341.174972-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/lpass-wsa-macro.c

index 5e0abef..5cfe96f 100644 (file)
@@ -4,6 +4,7 @@
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/io.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/clk.h>
 #include <linux/of_clk.h>
@@ -2350,14 +2351,15 @@ static int wsa_macro_register_mclk_output(struct wsa_macro *wsa)
 {
        struct device *dev = wsa->dev;
        const char *parent_clk_name;
-       const char *clk_name = "mclk";
        struct clk_hw *hw;
        struct clk_init_data init;
        int ret;
 
        parent_clk_name = __clk_get_name(wsa->npl);
 
-       init.name = clk_name;
+       init.name = "mclk";
+       of_property_read_string(dev_of_node(dev), "clock-output-names",
+                               &init.name);
        init.ops = &swclk_gate_ops;
        init.flags = 0;
        init.parent_names = &parent_clk_name;