[PATCH] mtd: nand: gpmi-nand: using pm_runtime_resume_and_get instead of pm_runtime_get_sync

Miquel Raynal miquel.raynal at bootlin.com
Tue Apr 19 00:40:51 PDT 2022


Hello,

cgel.zte at gmail.com wrote on Mon, 18 Apr 2022 10:55:49 +0000:

> From: Minghao Chi <chi.minghao at zte.com.cn>
> 
> Using pm_runtime_resume_and_get is more appropriate
> for simplifing code

Would you mind reducing a little bit the title of the commit? Othewise
fine by me.

> 
> Reported-by: Zeal Robot <zealci at zte.com.cn>
> Signed-off-by: Minghao Chi <chi.minghao at zte.com.cn>
> ---
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 18 ++++++------------
>  1 file changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
> index 44b14c9dc9a7..6e7477aef8a7 100644
> --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
> +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
> @@ -148,11 +148,9 @@ static int gpmi_init(struct gpmi_nand_data *this)
>  	struct resources *r = &this->resources;
>  	int ret;
>  
> -	ret = pm_runtime_get_sync(this->dev);
> -	if (ret < 0) {
> -		pm_runtime_put_noidle(this->dev);
> +	ret = pm_runtime_resume_and_get(this->dev);
> +	if (ret < 0)
>  		return ret;
> -	}
>  
>  	ret = gpmi_reset_block(r->gpmi_regs, false);
>  	if (ret)
> @@ -544,11 +542,9 @@ static int bch_set_geometry(struct gpmi_nand_data *this)
>  	if (ret)
>  		return ret;
>  
> -	ret = pm_runtime_get_sync(this->dev);
> -	if (ret < 0) {
> -		pm_runtime_put_autosuspend(this->dev);
> +	ret = pm_runtime_resume_and_get(this->dev);
> +	if (ret < 0)
>  		return ret;
> -	}
>  
>  	/*
>  	* Due to erratum #2847 of the MX23, the BCH cannot be soft reset on this
> @@ -2286,11 +2282,9 @@ static int gpmi_nfc_exec_op(struct nand_chip *chip,
>  	for (i = 0; i < GPMI_MAX_TRANSFERS; i++)
>  		this->transfers[i].direction = DMA_NONE;
>  
> -	ret = pm_runtime_get_sync(this->dev);
> -	if (ret < 0) {
> -		pm_runtime_put_noidle(this->dev);
> +	ret = pm_runtime_resume_and_get(this->dev);
> +	if (ret < 0)
>  		return ret;
> -	}
>  
>  	/*
>  	 * This driver currently supports only one NAND chip. Plus, dies share


Thanks,
Miquèl



More information about the linux-mtd mailing list