[PATCH v2 2/2] mtd: spi-nor: Move condition to avoid a NULL check

Boris Brezillon boris.brezillon at collabora.com
Mon Nov 11 01:08:36 PST 2019


On Fri, 25 Oct 2019 14:28:36 +0000
<Tudor.Ambarus at microchip.com> wrote:

> From: Tudor Ambarus <tudor.ambarus at microchip.com>
> 
> When the controller is not under the SPI-MEM interface it may implement
> the optional controller_ops->erase() method.
> 
> nor->spimem and nor->controller_ops are mutual exclusive. Move the

					  ^mutually

> nor->controller_ops->erase != NULL check as an 'else if' case to
> nor->spimem, in order to avoid the nor->controller_ops != NULL
> check.
> 
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
> Signed-off-by: Tudor Ambarus <tudor.ambarus at microchip.com>

Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>

> ---
> v2: add Reported-by tag, amend commit description.
> 
>  drivers/mtd/spi-nor/spi-nor.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index b452d3d0de28..8eaf097098d9 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -942,9 +942,6 @@ static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr)
>  
>  	addr = spi_nor_convert_addr(nor, addr);
>  
> -	if (nor->controller_ops && nor->controller_ops->erase)
> -		return nor->controller_ops->erase(nor, addr);
> -
>  	if (nor->spimem) {
>  		struct spi_mem_op op =
>  			SPI_MEM_OP(SPI_MEM_OP_CMD(nor->erase_opcode, 1),
> @@ -953,6 +950,8 @@ static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr)
>  				   SPI_MEM_OP_NO_DATA);
>  
>  		return spi_mem_exec_op(nor->spimem, &op);
> +	} else if (nor->controller_ops->erase) {
> +		return nor->controller_ops->erase(nor, addr);
>  	}
>  
>  	/*






More information about the linux-mtd mailing list