Re: [RFC PATCH 09/34] mtd: spi-nor: Add a flag to skip spi_nor_setup()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 07/12/18 2:56 PM, Boris Brezillon wrote:
> Some manufacturers select the opcode to use in their fixups()
> method, and they don't want the generic selection logic to override
> their values. Add a flag to allow that.
> 
> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxx>
> ---
>  drivers/mtd/spi-nor/spi-nor.c | 7 +++++++
>  include/linux/mtd/spi-nor.h   | 1 +
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index f6b1c9b8079a..30dbddabec74 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -3502,6 +3502,13 @@ static int spi_nor_setup(struct spi_nor *nor,
>  	u32 ignored_mask, shared_mask;
>  	int err;
>  
> +	/*
> +	 * Some manufacturers select the opcode to use in their fixups()
> +	 * method, and explicitly ask to skip the generic selection logic.
> +	 */
> +	if (nor->flags & SNOR_F_SKIP_SETUP)
> +		return 0;
> +

Nit, I would suggest moving above check to the place where
spi_nor_setup() is called in spi_nor_scan(). That way, its easier to
know that setup is skipped when SNOR_F_SKIP_SETUP is set when reading
spi_nor_scan() code. I am fine otherwise too.

>  	/*
>  	 * Keep only the hardware capabilities supported by both the SPI
>  	 * controller and the SPI flash memory.
> diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
> index 2c8fbd5d614d..8c64f1dcd35e 100644
> --- a/include/linux/mtd/spi-nor.h
> +++ b/include/linux/mtd/spi-nor.h
> @@ -235,6 +235,7 @@ enum spi_nor_option_flags {
>  	SNOR_F_4B_OPCODES	= BIT(6),
>  	SNOR_F_HAS_LOCK		= BIT(7),
>  	SNOR_F_CLR_SW_PROT_BITS	= BIT(8),
> +	SNOR_F_SKIP_SETUP	= BIT(9),
>  };
>  
>  /**
> 

-- 
Regards
Vignesh

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux