Introduce new SNOR_SR1_BIT6_QUAD_ENABLE and SNOR_SR2_BIT1_QUAD_ENABLE
macro definitions to guard the quad_enable codes. This can make the
review easier. It's also a preparation for introducing the new Flash
vendor BoyaMicro.

Signed-off-by: Shiji Yang <[email protected]>
---
 drivers/mtd/spi/spi-nor-core.c | 28 +++++++++++++++++++---------
 drivers/mtd/spi/spi-nor-tiny.c | 27 +++++++++++++++++----------
 2 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 76c33b24368..5fa7ba27ae5 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -188,6 +188,16 @@ struct sfdp_header {
 /* Status, Control and Configuration Register Map(SCCR) */
 #define SCCR_DWORD22_OCTAL_DTR_EN_VOLATILE      BIT(31)
 
+#if IS_ENABLED(CONFIG_SPI_FLASH_ISSI) || \
+    IS_ENABLED(CONFIG_SPI_FLASH_MACRONIX)
+#define SNOR_SR1_BIT6_QUAD_ENABLE
+#endif
+
+#if IS_ENABLED(CONFIG_SPI_FLASH_SPANSION) || \
+    IS_ENABLED(CONFIG_SPI_FLASH_WINBOND)
+#define SNOR_SR2_BIT1_QUAD_ENABLE
+#endif
+
 struct sfdp_bfpt {
        u32     dwords[BFPT_DWORD_MAX];
 };
@@ -578,7 +588,7 @@ static int read_fsr(struct spi_nor *nor)
  * location. Return the configuration register value.
  * Returns negative if error occurred.
  */
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
 static int read_cr(struct spi_nor *nor)
 {
        int ret;
@@ -2110,7 +2120,7 @@ write_err:
        return ret;
 }
 
-#if defined(CONFIG_SPI_FLASH_MACRONIX) || defined(CONFIG_SPI_FLASH_ISSI)
+#ifdef SNOR_SR1_BIT6_QUAD_ENABLE
 /**
  * macronix_quad_enable() - set QE bit in Status Register.
  * @nor:       pointer to a 'struct spi_nor'
@@ -2204,7 +2214,7 @@ static int spansion_quad_enable_volatile(struct spi_nor 
*nor, u32 addr_base,
 }
 #endif
 
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
 /*
  * Write status Register and configuration register with 2 bytes
  * The first byte will be written to the status register, while the
@@ -2319,7 +2329,7 @@ static int spansion_no_read_cr_quad_enable(struct spi_nor 
*nor)
 }
 
 #endif /* CONFIG_SPI_FLASH_SFDP_SUPPORT */
-#endif /* CONFIG_SPI_FLASH_SPANSION */
+#endif /* SNOR_SR2_BIT1_QUAD_ENABLE */
 
 static void
 spi_nor_set_read_settings(struct spi_nor_read_command *read,
@@ -2710,18 +2720,18 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
        case BFPT_DWORD15_QER_NONE:
                params->quad_enable = NULL;
                break;
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
        case BFPT_DWORD15_QER_SR2_BIT1_BUGGY:
        case BFPT_DWORD15_QER_SR2_BIT1_NO_RD:
                params->quad_enable = spansion_no_read_cr_quad_enable;
                break;
 #endif
-#if defined(CONFIG_SPI_FLASH_MACRONIX) || defined(CONFIG_SPI_FLASH_ISSI)
+#ifdef SNOR_SR1_BIT6_QUAD_ENABLE
        case BFPT_DWORD15_QER_SR1_BIT6:
                params->quad_enable = macronix_quad_enable;
                break;
 #endif
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
        case BFPT_DWORD15_QER_SR2_BIT1:
                params->quad_enable = spansion_read_cr_quad_enable;
                break;
@@ -3155,7 +3165,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
        if (params->hwcaps.mask & (SNOR_HWCAPS_READ_QUAD |
                                   SNOR_HWCAPS_PP_QUAD)) {
                switch (JEDEC_MFR(info)) {
-#if defined(CONFIG_SPI_FLASH_MACRONIX) || defined(CONFIG_SPI_FLASH_ISSI)
+#ifdef SNOR_SR1_BIT6_QUAD_ENABLE
                case SNOR_MFR_MACRONIX:
                case SNOR_MFR_ISSI:
                        params->quad_enable = macronix_quad_enable;
@@ -3166,7 +3176,7 @@ static int spi_nor_init_params(struct spi_nor *nor,
                        break;
 
                default:
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
                        /* Kept only for backward compatibility purpose. */
                        params->quad_enable = spansion_read_cr_quad_enable;
 #endif
diff --git a/drivers/mtd/spi/spi-nor-tiny.c b/drivers/mtd/spi/spi-nor-tiny.c
index 23de64a1520..dde290ca6a4 100644
--- a/drivers/mtd/spi/spi-nor-tiny.c
+++ b/drivers/mtd/spi/spi-nor-tiny.c
@@ -36,6 +36,15 @@
 
 #define DEFAULT_READY_WAIT_JIFFIES             (40UL * HZ)
 
+#if IS_ENABLED(CONFIG_SPI_FLASH_MACRONIX)
+#define SNOR_SR1_BIT6_QUAD_ENABLE
+#endif
+
+#if IS_ENABLED(CONFIG_SPI_FLASH_SPANSION) || \
+    IS_ENABLED(CONFIG_SPI_FLASH_WINBOND)
+#define SNOR_SR2_BIT1_QUAD_ENABLE
+#endif
+
 static int spi_nor_read_write_reg(struct spi_nor *nor, struct spi_mem_op
                *op, void *buf)
 {
@@ -120,7 +129,7 @@ static ssize_t spi_nor_read_data(struct spi_nor *nor, 
loff_t from, size_t len,
        return len;
 }
 
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
 /*
  * Read configuration register, returning its value in the
  * location. Return the configuration register value.
@@ -253,9 +262,7 @@ static inline int set_4byte(struct spi_nor *nor, const 
struct flash_info *info,
        }
 }
 
-#if defined(CONFIG_SPI_FLASH_SPANSION) ||      \
-       defined(CONFIG_SPI_FLASH_WINBOND) ||    \
-       defined(CONFIG_SPI_FLASH_MACRONIX)
+#if defined(SNOR_SR1_BIT6_QUAD_ENABLE) || defined(SNOR_SR2_BIT1_QUAD_ENABLE)
 /*
  * Read the status register, returning its value in the location
  * Return the status register value.
@@ -356,7 +363,7 @@ static int spi_nor_wait_till_ready(struct spi_nor *nor)
        return spi_nor_wait_till_ready_with_timeout(nor,
                                                    DEFAULT_READY_WAIT_JIFFIES);
 }
-#endif /* CONFIG_SPI_FLASH_SPANSION */
+#endif
 
 /*
  * Erase an address range on the nor chip.  The address range may extend
@@ -433,7 +440,7 @@ static int spi_nor_write_tiny(struct mtd_info *mtd, loff_t 
to, size_t len,
        return -ENOTSUPP;
 }
 
-#ifdef CONFIG_SPI_FLASH_MACRONIX
+#ifdef SNOR_SR1_BIT6_QUAD_ENABLE
 /**
  * macronix_quad_enable() - set QE bit in Status Register.
  * @nor:       pointer to a 'struct spi_nor'
@@ -472,7 +479,7 @@ static int macronix_quad_enable(struct spi_nor *nor)
 }
 #endif
 
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
 /*
  * Write status Register and configuration register with 2 bytes
  * The first byte will be written to the status register, while the
@@ -554,7 +561,7 @@ static int spansion_read_cr_quad_enable(struct spi_nor *nor)
 
        return 0;
 }
-#endif /* CONFIG_SPI_FLASH_SPANSION */
+#endif /* SNOR_SR2_BIT1_QUAD_ENABLE */
 
 static void
 spi_nor_set_read_settings(struct spi_nor_read_command *read,
@@ -662,7 +669,7 @@ static int spi_nor_setup(struct spi_nor *nor, const struct 
flash_info *info,
        /* Enable Quad I/O if needed. */
        if (spi_nor_get_protocol_width(nor->read_proto) == 4) {
                switch (JEDEC_MFR(info)) {
-#ifdef CONFIG_SPI_FLASH_MACRONIX
+#ifdef SNOR_SR1_BIT6_QUAD_ENABLE
                case SNOR_MFR_MACRONIX:
                        err = macronix_quad_enable(nor);
                        break;
@@ -672,7 +679,7 @@ static int spi_nor_setup(struct spi_nor *nor, const struct 
flash_info *info,
                        break;
 
                default:
-#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+#ifdef SNOR_SR2_BIT1_QUAD_ENABLE
                        /* Kept only for backward compatibility purpose. */
                        err = spansion_read_cr_quad_enable(nor);
 #endif
-- 
2.51.0

Reply via email to