On Thu, Jun 18, 2020 at 07:55:34PM +0800, Shengjiu Wang wrote:
Add pm runtime support and move clock handling there. Close the clocks at suspend to reduce the power consumption.
fsl_spdif_suspend is replaced by pm_runtime_force_suspend. fsl_spdif_resume is replaced by pm_runtime_force_resume.
Signed-off-by: Shengjiu Wang shengjiu.wang@nxp.com
LGTM, yet some nits, please add my ack after fixing:
Acked-by: Nicolin Chen nicoleotsuka@gmail.com
@@ -495,25 +496,10 @@ static int fsl_spdif_startup(struct snd_pcm_substream *substream,
-disable_txclk:
- for (i--; i >= 0; i--)
clk_disable_unprepare(spdif_priv->txclk[i]);
err:
- if (!IS_ERR(spdif_priv->spbaclk))
clk_disable_unprepare(spdif_priv->spbaclk);
-err_spbaclk:
- clk_disable_unprepare(spdif_priv->coreclk);
- return ret;
Only "return ret;" remains now. We could clean the goto away.
-static int fsl_spdif_resume(struct device *dev) +static int fsl_spdif_runtime_resume(struct device *dev)
+disable_rx_clk:
- clk_disable_unprepare(spdif_priv->rxclk);
+disable_tx_clk: +disable_spba_clk:
Why have two duplicated ones? Could probably drop the 2nd one.