10 Dec
2021
10 Dec
'21
5:29 p.m.
On Fri, Dec 10, 2021 at 09:53:39AM -0600, Pierre-Louis Bossart wrote:
On 12/10/21 9:10 AM, Shumin Chen wrote:
+static int es8156_resume(struct snd_soc_component *codec) +{
- return 0;
es8156_set_bias_level(codec, SND_SOC_BIAS_ON);
for symmetry with suspend?
Shouldn't be _ON since we're resuming so there should be no running audio - _STANDBY would be more normal.
+static int es8156_probe(struct snd_soc_component *codec) +{
- struct es8156_priv *es8156 = snd_soc_component_get_drvdata(codec);
- int ret = 0;
- es8156_codec = codec;
+#if MCLK
- es8156->mclk = devm_clk_get(codec->dev, "mclk");
- if (PTR_ERR(es8156->mclk) == -EPROBE_DEFER)
return -EPROBE_DEFER;
- ret = clk_prepare_enable(es8156->mclk);
+#endif
Unclear how MCLK will be enabled in a build, did you mean
es8156->mclk = devm_clk_get_optional(codec->dev, "mclk");
Please also move all resource acquisition to the I2C level probe, that means we don't get the card trying to instantiate repeatedly while the CODEC isn't ready.