Skip to content

Commit

Permalink
ASoC: rt5682: move DAI clock registry to I2S mode
Browse files Browse the repository at this point in the history
The SoundWire mode doesn't need the DAI clocks.
Therefore, the DAI clock registry moves to I2S mode case.

Signed-off-by: Shuming Fan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
  • Loading branch information
shumingfan authored and broonie committed Mar 27, 2020
1 parent 17fb543 commit 914f674
Showing 1 changed file with 19 additions and 20 deletions.
39 changes: 19 additions & 20 deletions sound/soc/codecs/rt5682.c
Original file line number Diff line number Diff line change
Expand Up @@ -2856,26 +2856,6 @@ static int rt5682_probe(struct snd_soc_component *component)
#endif
rt5682->component = component;

#ifdef CONFIG_COMMON_CLK
/* Check if MCLK provided */
rt5682->mclk = devm_clk_get(component->dev, "mclk");
if (IS_ERR(rt5682->mclk)) {
if (PTR_ERR(rt5682->mclk) != -ENOENT) {
ret = PTR_ERR(rt5682->mclk);
return ret;
}
rt5682->mclk = NULL;
}

/* Register CCF DAI clock control */
ret = rt5682_register_dai_clks(component);
if (ret)
return ret;

/* Initial setup for CCF */
rt5682->lrck[RT5682_AIF1] = CLK_48;
#endif

if (rt5682->is_sdw) {
slave = rt5682->slave;
time = wait_for_completion_timeout(
Expand All @@ -2885,6 +2865,25 @@ static int rt5682_probe(struct snd_soc_component *component)
dev_err(&slave->dev, "Initialization not complete, timed out\n");
return -ETIMEDOUT;
}
} else {
#ifdef CONFIG_COMMON_CLK
/* Check if MCLK provided */
rt5682->mclk = devm_clk_get(component->dev, "mclk");
if (IS_ERR(rt5682->mclk)) {
if (PTR_ERR(rt5682->mclk) != -ENOENT) {
ret = PTR_ERR(rt5682->mclk);
return ret;
}
rt5682->mclk = NULL;
} else {
/* Register CCF DAI clock control */
ret = rt5682_register_dai_clks(component);
if (ret)
return ret;
}
/* Initial setup for CCF */
rt5682->lrck[RT5682_AIF1] = CLK_48;
#endif
}

return 0;
Expand Down

0 comments on commit 914f674

Please sign in to comment.