From: Michael Walle <mwalle@kernel.org>
To: Pratyush Yadav <pratyush@kernel.org>,
Michael Walle <mwalle@kernel.org>,
Takahiro Kuwano <takahiro.kuwano@infineon.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Tudor Ambarus <tudor.ambarus@linaro.org>
Cc: linux-mtd@lists.infradead.org,
Cheng Ming Lin <chengminglin@mxic.com.tw>,
linux-kernel@vger.kernel.org
Subject: [PATCH v1 0/8] mtd: spi-nor: Rework flash parameter initialization
Date: Fri, 3 Jul 2026 16:29:11 +0200 [thread overview]
Message-ID: <20260703143003.1809579-1-mwalle@kernel.org> (raw)
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 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
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
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Michael Walle <mwalle@kernel.org>
To: Pratyush Yadav <pratyush@kernel.org>,
Michael Walle <mwalle@kernel.org>,
Takahiro Kuwano <takahiro.kuwano@infineon.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Tudor Ambarus <tudor.ambarus@linaro.org>
Cc: linux-mtd@lists.infradead.org,
Cheng Ming Lin <chengminglin@mxic.com.tw>,
linux-kernel@vger.kernel.org
Subject: [PATCH v1 0/8] mtd: spi-nor: Rework flash parameter initialization
Date: Fri, 3 Jul 2026 16:29:11 +0200 [thread overview]
Message-ID: <20260703143003.1809579-1-mwalle@kernel.org> (raw)
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 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
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
next reply other threads:[~2026-07-03 14:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-03 14:29 Michael Walle [this message]
2026-07-03 14:29 ` [PATCH v1 0/8] mtd: spi-nor: Rework flash parameter initialization Michael Walle
2026-07-03 14:29 ` [PATCH v1 1/8] mtd: spi-nor: spansion: s25fl256s0: remove SKIP_SFDP flag Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-03 14:29 ` [PATCH v1 2/8] mtd: spi-nor: don't clear the SNOR_F_4B_OPCODES flag on failure Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-03 14:29 ` [PATCH v1 3/8] mtd: spi-nor: move cmd_ext_type into spi_nor_flash_parameter Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-03 14:29 ` [PATCH v1 4/8] mtd: spi-nor: move flags " Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-03 14:29 ` [PATCH v1 5/8] mtd: spi-nor: move spi_nor_post_bfpt_fixups() into sfdp Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-06 14:18 ` Miquel Raynal
2026-07-06 14:18 ` Miquel Raynal
2026-07-03 14:29 ` [PATCH v1 6/8] mtd: spi-nor: spansion: s25fs256t: move ARCFN check into .late_init Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-10 2:22 ` Takahiro.Kuwano
2026-07-10 2:22 ` Takahiro.Kuwano
2026-07-03 14:29 ` [PATCH v1 7/8] mtd: spi-nor: push the rollback mechanism into the sfdp module Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-06 14:22 ` Miquel Raynal
2026-07-06 14:22 ` Miquel Raynal
2026-07-06 14:34 ` Michael Walle
2026-07-06 14:34 ` Michael Walle
2026-07-03 14:29 ` [PATCH v1 8/8] mtd: spi-nor: rework flash parameter initialization Michael Walle
2026-07-03 14:29 ` Michael Walle
2026-07-10 2:48 ` Takahiro.Kuwano
2026-07-10 2:48 ` Takahiro.Kuwano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260703143003.1809579-1-mwalle@kernel.org \
--to=mwalle@kernel.org \
--cc=chengminglin@mxic.com.tw \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=miquel.raynal@bootlin.com \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=takahiro.kuwano@infineon.com \
--cc=tudor.ambarus@linaro.org \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.