Re: [PATCH] ASoC: SOF: using pm_runtime_resume_and_get to simplify the code

Pierre-Louis Bossart
2022-04-20T15:19:09Z

On 4/19/22 22:03, cgel.zte@gmail.com wrote:
> From: Minghao Chi <chi.minghao@zte.com.cn>
>
> Using pm_runtime_resume_and_get() to replace pm_runtime_get_sync and
> pm_runtime_put_noidle. This change is just to simplify the code, no
> actual functional changes.
>
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>

Well, maybe that's a simplification, but we've been using the same pattern for years now.

Is there really a clear direction to use this new function?

the overwhelming majority of drivers in sound/soc still rely on the pm_runtime_get_sync (111 v. 7).

> ---
> sound/soc/sof/sof-client-probes.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/sound/soc/sof/sof-client-probes.c b/sound/soc/sof/sof-client-probes.c
> index 797dedb26163..c4c6e03c8133 100644
> --- a/sound/soc/sof/sof-client-probes.c
> +++ b/sound/soc/sof/sof-client-probes.c
> @@ -503,10 +503,9 @@ static ssize_t sof_probes_dfs_points_read(struct file *file, char __user *to,
> if (!buf)
> return -ENOMEM;
>
> - ret = pm_runtime_get_sync(dev);
> + ret = pm_runtime_resume_and_get(dev);
> if (ret < 0 && ret != -EACCES) {
> dev_err_ratelimited(dev, "debugfs read failed to resume %d\n", ret);
> - pm_runtime_put_noidle(dev);
> goto exit;
> }
>
> @@ -568,10 +567,9 @@ sof_probes_dfs_points_write(struct file *file, const char __user *from,
>
> desc = (struct sof_probe_point_desc *)tkns;
>
> - ret = pm_runtime_get_sync(dev);
> + ret = pm_runtime_resume_and_get(dev);
> if (ret < 0 && ret != -EACCES) {
> dev_err_ratelimited(dev, "debugfs write failed to resume %d\n", ret);
> - pm_runtime_put_noidle(dev);
> goto exit;
> }
>
> @@ -621,10 +619,9 @@ sof_probes_dfs_points_remove_write(struct file *file, const char __user *from,
> goto exit;
> }
>
> - ret = pm_runtime_get_sync(dev);
> + ret = pm_runtime_resume_and_get(dev);
> if (ret < 0) {
> dev_err_ratelimited(dev, "debugfs write failed to resume %d\n", ret);
> - pm_runtime_put_noidle(dev);
> goto exit;
> }
>