ASoC: codecs: Change bulk clock voting to optional voting in digital codecs
authorSrinivasa Rao Mandadapu <srivasam@codeaurora.org>
Tue, 26 Oct 2021 07:43:08 +0000 (13:13 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:29 +0000 (09:39 +0100)
[ Upstream commit 9f589cf0f91485c8591775acad056c80378a2d34 ]

Change bulk clock frequency voting to optional bulk voting in va, rx and tx macros
to accommodate both ADSP and ADSP bypass based lpass architectures.

Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Co-developed-by: Venkata Prasad Potturu <potturu@codeaurora.org>
Signed-off-by: Venkata Prasad Potturu <potturu@codeaurora.org>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/1635234188-7746-6-git-send-email-srivasam@codeaurora.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Stable-dep-of: e7621434378c ("ASoC: codecs: lpass: fix incorrect mclk rate")
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/lpass-rx-macro.c
sound/soc/codecs/lpass-tx-macro.c
sound/soc/codecs/lpass-va-macro.c

index 23452900b9ae1c47aedb77b1452b91496bff90a5..3c4f1fb219a44ceb61c428469b81951beef01e5f 100644 (file)
@@ -3535,7 +3535,7 @@ static int rx_macro_probe(struct platform_device *pdev)
        rx->clks[3].id = "npl";
        rx->clks[4].id = "fsgen";
 
-       ret = devm_clk_bulk_get(dev, RX_NUM_CLKS_MAX, rx->clks);
+       ret = devm_clk_bulk_get_optional(dev, RX_NUM_CLKS_MAX, rx->clks);
        if (ret) {
                dev_err(dev, "Error getting RX Clocks (%d)\n", ret);
                return ret;
index feafb8a90ffe95e706eea9fdfa6a00be5c28e281..8d1126802ddfa8434e606ef4d1cf28d6dde7ea2c 100644 (file)
@@ -1801,7 +1801,7 @@ static int tx_macro_probe(struct platform_device *pdev)
        tx->clks[3].id = "npl";
        tx->clks[4].id = "fsgen";
 
-       ret = devm_clk_bulk_get(dev, TX_NUM_CLKS_MAX, tx->clks);
+       ret = devm_clk_bulk_get_optional(dev, TX_NUM_CLKS_MAX, tx->clks);
        if (ret) {
                dev_err(dev, "Error getting RX Clocks (%d)\n", ret);
                return ret;
index 08702a21212c1993d55c925929af6c77b5e1c232..9b9bae9b92be18ef8cf92f684a11440eb52bd24d 100644 (file)
@@ -1408,7 +1408,7 @@ static int va_macro_probe(struct platform_device *pdev)
        va->clks[1].id = "dcodec";
        va->clks[2].id = "mclk";
 
-       ret = devm_clk_bulk_get(dev, VA_NUM_CLKS_MAX, va->clks);
+       ret = devm_clk_bulk_get_optional(dev, VA_NUM_CLKS_MAX, va->clks);
        if (ret) {
                dev_err(dev, "Error getting VA Clocks (%d)\n", ret);
                return ret;