summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/lpass-va-macro.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2022-07-28 17:28:24 +0300
committerTakashi Iwai <tiwai@suse.de>2022-07-28 17:28:24 +0300
commitf38e6458e16df7bac3871f4e69f9681c0b3c58bd (patch)
tree9c383f4b927c831fd36715a65282bd44b0daac6e /sound/soc/codecs/lpass-va-macro.c
parentcf33ce6f0c220fbfe5dafcb08d4c5655097a5fa4 (diff)
parent30097967e0566cac817273ef76add100f6b0f463 (diff)
downloadlinux-f38e6458e16df7bac3871f4e69f9681c0b3c58bd.tar.xz
Merge tag 'asoc-fix-v5.19-rc8' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.19 A few more small fixes, they could all wait for the merge window if you prefer.
Diffstat (limited to 'sound/soc/codecs/lpass-va-macro.c')
-rw-r--r--sound/soc/codecs/lpass-va-macro.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index d18b56e60433..1ea10dc70748 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -199,6 +199,7 @@ struct va_macro {
struct clk *mclk;
struct clk *macro;
struct clk *dcodec;
+ struct clk *fsgen;
struct clk_hw hw;
struct lpass_macro *pds;
@@ -467,9 +468,9 @@ static int va_macro_mclk_event(struct snd_soc_dapm_widget *w,
switch (event) {
case SND_SOC_DAPM_PRE_PMU:
- return va_macro_mclk_enable(va, true);
+ return clk_prepare_enable(va->fsgen);
case SND_SOC_DAPM_POST_PMD:
- return va_macro_mclk_enable(va, false);
+ clk_disable_unprepare(va->fsgen);
}
return 0;
@@ -1473,6 +1474,12 @@ static int va_macro_probe(struct platform_device *pdev)
if (ret)
goto err_clkout;
+ va->fsgen = clk_hw_get_clk(&va->hw, "fsgen");
+ if (IS_ERR(va->fsgen)) {
+ ret = PTR_ERR(va->fsgen);
+ goto err_clkout;
+ }
+
ret = devm_snd_soc_register_component(dev, &va_macro_component_drv,
va_macro_dais,
ARRAY_SIZE(va_macro_dais));