@@ -1920,6 +1920,8 @@ static int tx_macro_remove(struct platform_device *pdev)
clk_disable_unprepare(tx->npl);
clk_disable_unprepare(tx->fsgen);
+ lpass_macro_pds_exit(tx->pds);
+
return 0;
}
@@ -1964,8 +1966,6 @@ static int __maybe_unused tx_macro_runtime_resume(struct device *dev)
regcache_sync(tx->regmap);
tx->reset_swr = true;
- lpass_macro_pds_exit(tx->pds);
-
return 0;
err_fsgen:
clk_disable_unprepare(tx->npl);
@@ -1503,6 +1503,8 @@ static int va_macro_remove(struct platform_device *pdev)
clk_disable_unprepare(va->dcodec);
clk_disable_unprepare(va->macro);
+ lpass_macro_pds_exit(va->pds);
+
return 0;
}
@@ -1532,8 +1534,6 @@ static int __maybe_unused va_macro_runtime_resume(struct device *dev)
regcache_cache_only(va->regmap, false);
regcache_sync(va->regmap);
- lpass_macro_pds_exit(va->pds);
-
return 0;
}