ASoC: img: img-i2s-out: use pm_runtime_resume_and_get()
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 16 Jun 2022 22:04:24 +0000 (17:04 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 27 Jun 2022 12:17:58 +0000 (13:17 +0100)
Simplify the flow.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220616220427.136036-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/img/img-i2s-out.c

index 9ec6fc5..50a522a 100644 (file)
@@ -346,11 +346,9 @@ static int img_i2s_out_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 
        chan_control_mask = IMG_I2S_OUT_CHAN_CTL_CLKT_MASK;
 
-       ret = pm_runtime_get_sync(i2s->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(i2s->dev);
+       ret = pm_runtime_resume_and_get(i2s->dev);
+       if (ret < 0)
                return ret;
-       }
 
        img_i2s_out_disable(i2s);
 
@@ -482,11 +480,9 @@ static int img_i2s_out_probe(struct platform_device *pdev)
                if (ret)
                        goto err_pm_disable;
        }
-       ret = pm_runtime_get_sync(&pdev->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(&pdev->dev);
+       ret = pm_runtime_resume_and_get(&pdev->dev);
+       if (ret < 0)
                goto err_suspend;
-       }
 
        reg = IMG_I2S_OUT_CTL_FRM_SIZE_MASK;
        img_i2s_out_writel(i2s, reg, IMG_I2S_OUT_CTL);