From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lelv0142.ext.ti.com ([198.47.23.249]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gWGxU-0004Ve-T5 for linux-mtd@lists.infradead.org; Mon, 10 Dec 2018 08:30:34 +0000 Subject: Re: [RFC PATCH 09/34] mtd: spi-nor: Add a flag to skip spi_nor_setup() To: Boris Brezillon , Tudor Ambarus , Marek Vasut CC: Yogesh Narayan Gaur , Miquel Raynal , David Woodhouse , Brian Norris , Richard Weinberger , References: <20181207092637.18687-1-boris.brezillon@bootlin.com> <20181207092637.18687-10-boris.brezillon@bootlin.com> From: Vignesh R Message-ID: Date: Mon, 10 Dec 2018 14:00:59 +0530 MIME-Version: 1.0 In-Reply-To: <20181207092637.18687-10-boris.brezillon@bootlin.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 > --- > 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