Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: wm8960: Read initial MCLK rate from clock API

When we have a MCLK provided by the clock API read the rate at startup
and store it so that there's something set before the machine driver has
done clocking configuration (eg, if it only configures clocking based on
sample rate).

Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230731-asoc-wm8960-clk-v1-1-69f9ffa2b10a@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>

+8
+8
sound/soc/codecs/wm8960.c
··· 1429 1429 if (IS_ERR(wm8960->mclk)) { 1430 1430 if (PTR_ERR(wm8960->mclk) == -EPROBE_DEFER) 1431 1431 return -EPROBE_DEFER; 1432 + } else { 1433 + ret = clk_get_rate(wm8960->mclk); 1434 + if (ret >= 0) { 1435 + wm8960->freq_in = ret; 1436 + } else { 1437 + dev_err(&i2c->dev, "Failed to read MCLK rate: %d\n", 1438 + ret); 1439 + } 1432 1440 } 1433 1441 1434 1442 wm8960->regmap = devm_regmap_init_i2c(i2c, &wm8960_regmap);