[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]

 



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;
+
 	/*
 	 * 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),
 };
 
 /**
-- 
2.17.1


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



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

  Powered by Linux