ASoC: rockchip: ignore 0Hz sysclk
authorKatsuhiro Suzuki <katsuhiro@katsuster.net>
Sat, 7 Sep 2019 17:43:32 +0000 (02:43 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 9 Sep 2019 09:51:06 +0000 (10:51 +0100)
This patch ignores sysclk setting if it is 0Hz.

Some codecs treat 0Hz sysclk as signal of applying no constraints.
This driver does not have such feature but current implementation
outputs 'Failed to set mclk' error message if machine driver sets
0Hz sysclk to this driver.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Link: https://lore.kernel.org/r/20190907174332.19586-1-katsuhiro@katsuster.net
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/rockchip/rockchip_i2s.c

index 88ebaf6e1880a3aafea7f1dd7a7614aef3e700ee..af2d5a6124c8e122a8055d482b376d8df8be76c3 100644 (file)
@@ -419,6 +419,9 @@ static int rockchip_i2s_set_sysclk(struct snd_soc_dai *cpu_dai, int clk_id,
        struct rk_i2s_dev *i2s = to_info(cpu_dai);
        int ret;
 
+       if (freq == 0)
+               return 0;
+
        ret = clk_set_rate(i2s->mclk, freq);
        if (ret)
                dev_err(i2s->dev, "Fail to set mclk %d\n", ret);