[RFC PATCH 1/3] mtd: spi-nor: support dumping sfdp tables
From: Michael Walle
Date: Fri Mar 12 2021 - 14:07:06 EST
Add the possibility to dump the SFDP data of a flash device.
More and more flash devices share the same flash ID and we need per device
fixups. Usually, these fixups differentiate flashes by looking at
differences in the SFDP data. Determining the difference is only possible
if we have the SFDP data for all the flashes which share a flash ID. This
will lay the foundation to dump the whole SFDP data of a flash device.
This is even more important, because some datasheets doesn't even contain
the SFDP data. Fixups for these kind of flashes are nearly impossible to
do.
I envision having a database of all the SFDP data for the flashes we
support and make it a requirement to submit it when a new flash is added.
This might or might not have legal implications. Thus I'd start with having
that database private to the SPI NOR maintainers.
There are two ways to provide access to the SFDP data:
(1) We just read the SFDP data once and cache it
(2) Any userspace access will always read the SFDP data
I choose (2) because it isn't as invasive as (1). The current SFDP code
reads the SFDP data only partially and only the part which are actually
used. Using (1) would mean to change that behavior.
Michael Walle (3):
mtd: spi-nor: sfdp: remember sfdp_size
mtd: spi-nor: sfdp: fix spi_nor_read_sfdp()
mtd: spi-nor: add sysfs and SFDP support
drivers/mtd/spi-nor/Makefile | 2 +-
drivers/mtd/spi-nor/core.c | 5 +++
drivers/mtd/spi-nor/core.h | 3 ++
drivers/mtd/spi-nor/sfdp.c | 24 +++++++++++-
drivers/mtd/spi-nor/sfdp.h | 2 +
drivers/mtd/spi-nor/sysfs.c | 73 ++++++++++++++++++++++++++++++++++++
include/linux/mtd/spi-nor.h | 1 +
7 files changed, 107 insertions(+), 3 deletions(-)
create mode 100644 drivers/mtd/spi-nor/sysfs.c
--
2.20.1