[PATCH v3 0/3] mtd: spi-nor: Parse BFPT to determine the 4-Byte Address Mode

From: Tudor Ambarus
Date: Mon Apr 11 2022 - 08:53:59 EST


Depends on:
https://lore.kernel.org/lkml/20220411091033.98754-1-tudor.ambarus@xxxxxxxxxxxxx/

Get the 4-Byte Address mode method from BFPT and favor it in the detriment
of the "default" set_4byte_addr_mode method or the methods set by vendors.
This may introduce some regressions if flashes have wrong BFPT data. The
fix is to introduce post_bfpt() hooks and fix where needed. We should let
the core/sfdp do the params initialization, and do vendor specific updates
just where needed.

v3:
- Move the newly introduced BFPT definitions in sfdp.h, as they may be used by
manufacturer drivers to handle flash ID collisions.
- Drop "mtd: spi-nor: sfdp: Keep SFDP definitions private" patch for the same
reason as above
- Collect R-b tags

v2: Drop quad enable patch

Tudor Ambarus (3):
mtd: spi-nor: Parse BFPT to determine the 4-Byte Address Mode methods
mtd: spi-nor: Update name and description of the set_4byte_addr_mode
BFPT methods
mtd: spi-nor: Favor the BFPT-parsed set_4byte_addr_mode method

drivers/mtd/spi-nor/core.c | 70 ++------------------
drivers/mtd/spi-nor/core.h | 1 -
drivers/mtd/spi-nor/macronix.c | 9 ++-
drivers/mtd/spi-nor/micron-st.c | 32 ++-------
drivers/mtd/spi-nor/sfdp.c | 113 ++++++++++++++++++++++++++++++++
drivers/mtd/spi-nor/sfdp.h | 30 +++++++++
drivers/mtd/spi-nor/winbond.c | 18 +++--
7 files changed, 174 insertions(+), 99 deletions(-)
--
2.25.1