]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: ES8389: convert to devm_clk_get_optional() to get clock
authorLi Jian <lazycat-xiao@foxmail.com>
Fri, 17 Apr 2026 10:53:14 +0000 (18:53 +0800)
committerMark Brown <broonie@kernel.org>
Sun, 26 Apr 2026 23:30:22 +0000 (08:30 +0900)
When enabling ES8390 via ACPI description, es8389 would fail to
obtain a clock source, causing the driver to fail to initialize.
This was not an issue with older kernels, but since commit
abae8e57e49a ("clk: generalize devm_clk_get() a bit"),
devm_clk_get() would return an error pointer when a clock source
was not detected (instead of falling back to a static clock),
causing the driver to fail early.

Use devm_clk_get_optional() instead to return to the previous
behaviour, allowing the use of a static clock source.

Cc: stable@vger.kernel.org
Signed-off-by: Li Jian <lazycat-xiao@foxmail.com>
Link: https://patch.msgid.link/tencent_7C78374FB9F4B3A37101E5C719715D8BC40A@qq.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/es8389.c

index 8d418cae371a82492e1fbeeb6511cfb1dfd02202..449d9574b03a8d446545ad4d6e862c5baf5d065a 100644 (file)
@@ -892,7 +892,7 @@ static int es8389_probe(struct snd_soc_component *component)
                return ret;
        }
 
-       es8389->mclk = devm_clk_get(component->dev, "mclk");
+       es8389->mclk = devm_clk_get_optional(component->dev, "mclk");
        if (IS_ERR(es8389->mclk))
                return dev_err_probe(component->dev, PTR_ERR(es8389->mclk),
                        "ES8389 is unable to get mclk\n");