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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Apr 20 15:28:31 CEST 2022



On 4/19/22 22:03, cgel.zte at gmail.com wrote:
> From: Minghao Chi <chi.minghao at 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 at zte.com.cn>
> Signed-off-by: Minghao Chi <chi.minghao at 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;
>  	}
>  


More information about the Alsa-devel mailing list