ASoC: stm32: properly get clk from the provider
authorJerome Brunet <jbrunet@baylibre.com>
Wed, 21 Apr 2021 12:05:08 +0000 (14:05 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 23 Apr 2021 12:16:23 +0000 (13:16 +0100)
Instead of using the clk embedded in the clk_hw (which is meant to go
away), a clock provider which need to interact with its own clock should
request clk reference through the clock provider API.

Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20210421120512.413057-2-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/stm/stm32_sai_sub.c

index 3aa1cf2..c156123 100644 (file)
@@ -484,7 +484,10 @@ static int stm32_sai_add_mclk_provider(struct stm32_sai_sub_data *sai)
                dev_err(dev, "mclk register returned %d\n", ret);
                return ret;
        }
-       sai->sai_mclk = hw->clk;
+
+       sai->sai_mclk = devm_clk_hw_get_clk(dev, hw, NULL);
+       if (IS_ERR(sai->sai_mclk))
+               return PTR_ERR(sai->sai_mclk);
 
        /* register mclk provider */
        return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, hw);