[PATCH v2 0/8] mtd: spi-nor: Rework flash parameter initialization
Michael Walle
mwalle at kernel.org
Mon Jul 13 02:11:38 PDT 2026
Try to simplify the flash initialization and get rid of the legacy
handling. As default, all the flags of the in-kernel database are
taken and amended with the SFDP data.
This might have the consequence that all the flashes now get a
RDSFPD opcode which might be an unknown opcode. But that was already
the case for any flashes which were unknown to the linux kernel. So
far, there was not a single complaint. See patch 8 for more
information.
Sashiko found that not everything is rolled back in case of a SFDP
parsing failure. Thus there are now 5 additional patches which will
move the discovered parameters into spi_nor_flash_parameter which is
rolled back. The new rule is now:
SFDP parsing and the per-flash SFDP fixups must only change the
spi_nor_flash_parameter data.
changes since v1:
- collected Tb and Rb tags
- Fixed the roll-back issue Sashiko found, we now keep two backups
for the parameters.
- Link to v1: https://lore.kernel.org/linux-mtd/20260703143003.1809579-1-mwalle@kernel.org/
changes since the RFC:
- new patches to address the rollback issue, as pointed out by
Sashiko
- remove SKIP_SFDP from kerneldoc, as pointed out by Sashiko
- mention issuing the potential unsupported RDSFPD command in the
commit message, as pointed out by Tudor
- Link to the RFC: https://lore.kernel.org/linux-mtd/20260601125438.3481722-1-mwalle@kernel.org/
Michael Walle (8):
mtd: spi-nor: spansion: s25fl256s0: remove SKIP_SFDP flag
mtd: spi-nor: don't clear the SNOR_F_4B_OPCODES flag on failure
mtd: spi-nor: move cmd_ext_type into spi_nor_flash_parameter
mtd: spi-nor: move flags into spi_nor_flash_parameter
mtd: spi-nor: move spi_nor_post_bfpt_fixups() into sfdp
mtd: spi-nor: spansion: s25fs256t: move ARCFN check into .late_init
mtd: spi-nor: push the rollback mechanism into the sfdp module
mtd: spi-nor: rework flash parameter initialization
drivers/mtd/spi-nor/core.c | 178 +++++++++++---------------------
drivers/mtd/spi-nor/core.h | 13 +--
drivers/mtd/spi-nor/debugfs.c | 6 +-
drivers/mtd/spi-nor/macronix.c | 2 +-
drivers/mtd/spi-nor/micron-st.c | 8 +-
drivers/mtd/spi-nor/sfdp.c | 70 ++++++++++---
drivers/mtd/spi-nor/spansion.c | 36 ++++---
drivers/mtd/spi-nor/swp.c | 52 ++++++----
drivers/mtd/spi-nor/winbond.c | 4 +-
include/linux/mtd/spi-nor.h | 4 -
10 files changed, 185 insertions(+), 188 deletions(-)
--
2.47.3
More information about the linux-mtd
mailing list