From: Boris Brezillon <boris.brezillon@bootlin.com>
To: Tudor Ambarus <tudor.ambarus@microchip.com>,
Marek Vasut <marek.vasut@gmail.com>
Cc: Vignesh R <vigneshr@ti.com>,
Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
David Woodhouse <dwmw2@infradead.org>,
Brian Norris <computersforpeace@gmail.com>,
Boris Brezillon <boris.brezillon@bootlin.com>,
Richard Weinberger <richard@nod.at>,
linux-mtd@lists.infradead.org
Subject: [RFC PATCH 00/34] mtd: spi-nor: Move manufacturer/SFDP code out of the core
Date: Fri, 7 Dec 2018 10:26:03 +0100 [thread overview]
Message-ID: <20181207092637.18687-1-boris.brezillon@bootlin.com> (raw)
Hello,
This patch series is an attempt at getting all manufacturer specific
quirks/code out of the core to make the core logic more readable and
thus ease maintainance.
This is just a preliminary version, and I'm pretty sure a lot of things
can be improved (Tudor already pointed some of them which I'll try to
address).
This series is split in 2:
- preparation patches (patches 1 to 11)
- the actual migration to one file per manufacturer + one file for the
SFDP parsing logic
Feel free to comment on the approach.
Regards,
Boris
Boris Brezillon (34):
mtd: spi-nor: Add a new hook to let part specific code tweak the
config
mtd: spi-nor: Add a post SFDP fixup hook for gd25q256
mtd: spi-nor: Create a ->set_4byte() method
mtd: spi-nor: Add spansion_fixups()
mtd: spi-nor: Rework the SPI NOR lock/unlock logic
mtd: spi-nor: Rework the ->quad_enable() selection logic
mtd: spi-nor: Add a new flag to clear SW protection bits during init
mtd: spi-nor: Add a ->convert_addr() method
mtd: spi-nor: Add a flag to skip spi_nor_setup()
mtd: spi-nor: Add the SPI_NOR_XSR_RDY flag
mtd: spi-nor: Move S3AN fixups to the manufacturer fixups path
mtd: spi-nor: Prepare things for core / manufacturer code split
mtd: spi-nor: Add the concept of SPI NOR manufacturer driver
mtd: spi-nor: Stop prefixing generic functions with a manufacturer
name
mtd: spi-nor: Expose some functions to manufacturer drivers
mtd: spi-nor: Move Atmel bits out of core.c
mtd: spi-nor: Move Eon bits out of core.c
mtd: spi-nor: Move ESMT bits out of core.c
mtd: spi-nor: Move Everspin bits out of core.c
mtd: spi-nor: Move Fujitsu bits out of spi-nor-core.c
mtd: spi-nor: Move GigaDevice bits out of core.c
mtd: spi-nor: Move Intel bits out of core.c
mtd: spi-nor: Move ISSI bits out of core.c
mtd: spi-nor: Move Macronix bits out of core.c
mtd: spi-nor: Move Micron/ST bits out of core.c
mtd: spi-nor: Move Spansion bits out of core.c
mtd: spi-nor: Move SST bits out of core.c
mtd: spi-nor: Move Winbond bits out of core.c
mtd: spi-nor: Move Catalyst bits out of core.c
mtd: spi-nor: Move Xilinx bits out of core.c
mtd: spi-nor: Move XMC bits out of core.c
mtd: spi-nor: Get rid of the now empty spi_nor_ids[] table
mtd: spi-nor: Move SFDP parsing code out of core.c
mtd: spi-nor: Add sfdp fixups hooks
drivers/mtd/spi-nor/Kconfig | 108 +-
drivers/mtd/spi-nor/Makefile | 30 +-
drivers/mtd/spi-nor/atmel.c | 47 +
drivers/mtd/spi-nor/catalyst.c | 39 +
drivers/mtd/spi-nor/controllers/Kconfig | 107 +
drivers/mtd/spi-nor/controllers/Makefile | 12 +
.../spi-nor/{ => controllers}/aspeed-smc.c | 0
.../spi-nor/{ => controllers}/atmel-quadspi.c | 0
.../{ => controllers}/cadence-quadspi.c | 0
.../spi-nor/{ => controllers}/fsl-quadspi.c | 0
.../mtd/spi-nor/{ => controllers}/hisi-sfc.c | 0
.../spi-nor/{ => controllers}/intel-spi-pci.c | 0
.../{ => controllers}/intel-spi-platform.c | 0
.../mtd/spi-nor/{ => controllers}/intel-spi.c | 0
.../mtd/spi-nor/{ => controllers}/intel-spi.h | 0
.../spi-nor/{ => controllers}/mtk-quadspi.c | 0
.../mtd/spi-nor/{ => controllers}/nxp-spifi.c | 0
.../spi-nor/{ => controllers}/stm32-quadspi.c | 0
drivers/mtd/spi-nor/core.c | 2290 ++++++++++
drivers/mtd/spi-nor/eon.c | 28 +
drivers/mtd/spi-nor/esmt.c | 31 +
drivers/mtd/spi-nor/everspin.c | 39 +
drivers/mtd/spi-nor/fujitsu.c | 20 +
drivers/mtd/spi-nor/gigadevice.c | 74 +
drivers/mtd/spi-nor/intel.c | 35 +
drivers/mtd/spi-nor/internals.h | 382 ++
drivers/mtd/spi-nor/issi.c | 67 +
drivers/mtd/spi-nor/macronix.c | 105 +
drivers/mtd/spi-nor/micron-st.c | 121 +
drivers/mtd/spi-nor/sfdp.c | 912 ++++
drivers/mtd/spi-nor/spansion.c | 137 +
drivers/mtd/spi-nor/spi-nor.c | 3880 -----------------
drivers/mtd/spi-nor/sst.c | 132 +
drivers/mtd/spi-nor/winbond.c | 116 +
drivers/mtd/spi-nor/xilinx.c | 97 +
drivers/mtd/spi-nor/xmc.c | 29 +
include/linux/mtd/spi-nor.h | 50 +-
37 files changed, 4878 insertions(+), 4010 deletions(-)
create mode 100644 drivers/mtd/spi-nor/atmel.c
create mode 100644 drivers/mtd/spi-nor/catalyst.c
create mode 100644 drivers/mtd/spi-nor/controllers/Kconfig
create mode 100644 drivers/mtd/spi-nor/controllers/Makefile
rename drivers/mtd/spi-nor/{ => controllers}/aspeed-smc.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/atmel-quadspi.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/cadence-quadspi.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/fsl-quadspi.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/hisi-sfc.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/intel-spi-pci.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/intel-spi-platform.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/intel-spi.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/intel-spi.h (100%)
rename drivers/mtd/spi-nor/{ => controllers}/mtk-quadspi.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/nxp-spifi.c (100%)
rename drivers/mtd/spi-nor/{ => controllers}/stm32-quadspi.c (100%)
create mode 100644 drivers/mtd/spi-nor/core.c
create mode 100644 drivers/mtd/spi-nor/eon.c
create mode 100644 drivers/mtd/spi-nor/esmt.c
create mode 100644 drivers/mtd/spi-nor/everspin.c
create mode 100644 drivers/mtd/spi-nor/fujitsu.c
create mode 100644 drivers/mtd/spi-nor/gigadevice.c
create mode 100644 drivers/mtd/spi-nor/intel.c
create mode 100644 drivers/mtd/spi-nor/internals.h
create mode 100644 drivers/mtd/spi-nor/issi.c
create mode 100644 drivers/mtd/spi-nor/macronix.c
create mode 100644 drivers/mtd/spi-nor/micron-st.c
create mode 100644 drivers/mtd/spi-nor/sfdp.c
create mode 100644 drivers/mtd/spi-nor/spansion.c
delete mode 100644 drivers/mtd/spi-nor/spi-nor.c
create mode 100644 drivers/mtd/spi-nor/sst.c
create mode 100644 drivers/mtd/spi-nor/winbond.c
create mode 100644 drivers/mtd/spi-nor/xilinx.c
create mode 100644 drivers/mtd/spi-nor/xmc.c
--
2.17.1
next reply other threads:[~2018-12-07 9:27 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-07 9:26 Boris Brezillon [this message]
2018-12-07 9:26 ` [RFC PATCH 01/34] mtd: spi-nor: Add a new hook to let part specific code tweak the config Boris Brezillon
2018-12-07 16:29 ` Sverdlin, Alexander (Nokia - DE/Ulm)
2018-12-10 9:06 ` Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 02/34] mtd: spi-nor: Add a post SFDP fixup hook for gd25q256 Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 03/34] mtd: spi-nor: Create a ->set_4byte() method Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 04/34] mtd: spi-nor: Add spansion_fixups() Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 05/34] mtd: spi-nor: Rework the SPI NOR lock/unlock logic Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 06/34] mtd: spi-nor: Rework the ->quad_enable() selection logic Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 07/34] mtd: spi-nor: Add a new flag to clear SW protection bits during init Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 08/34] mtd: spi-nor: Add a ->convert_addr() method Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 09/34] mtd: spi-nor: Add a flag to skip spi_nor_setup() Boris Brezillon
2018-12-10 8:30 ` Vignesh R
2018-12-10 8:37 ` Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 10/34] mtd: spi-nor: Add the SPI_NOR_XSR_RDY flag Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 11/34] mtd: spi-nor: Move S3AN fixups to the manufacturer fixups path Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 12/34] mtd: spi-nor: Prepare things for core / manufacturer code split Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 13/34] mtd: spi-nor: Add the concept of SPI NOR manufacturer driver Boris Brezillon
2018-12-10 8:20 ` Vignesh R
2018-12-10 8:35 ` Boris Brezillon
2018-12-10 11:28 ` Vignesh R
2018-12-07 9:26 ` [RFC PATCH 14/34] mtd: spi-nor: Stop prefixing generic functions with a manufacturer name Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 15/34] mtd: spi-nor: Expose some functions to manufacturer drivers Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 16/34] mtd: spi-nor: Move Atmel bits out of core.c Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 17/34] mtd: spi-nor: Move Eon " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 18/34] mtd: spi-nor: Move ESMT " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 19/34] mtd: spi-nor: Move Everspin " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 20/34] mtd: spi-nor: Move Fujitsu bits out of spi-nor-core.c Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 21/34] mtd: spi-nor: Move GigaDevice bits out of core.c Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 22/34] mtd: spi-nor: Move Intel " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 23/34] mtd: spi-nor: Move ISSI " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 24/34] mtd: spi-nor: Move Macronix " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 25/34] mtd: spi-nor: Move Micron/ST " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 26/34] mtd: spi-nor: Move Spansion " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 27/34] mtd: spi-nor: Move SST " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 28/34] mtd: spi-nor: Move Winbond " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 29/34] mtd: spi-nor: Move Catalyst " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 30/34] mtd: spi-nor: Move Xilinx " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 31/34] mtd: spi-nor: Move XMC " Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 32/34] mtd: spi-nor: Get rid of the now empty spi_nor_ids[] table Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 33/34] mtd: spi-nor: Move SFDP parsing code out of core.c Boris Brezillon
2018-12-07 9:26 ` [RFC PATCH 34/34] mtd: spi-nor: Add sfdp fixups hooks Boris Brezillon
2018-12-07 16:29 ` Sverdlin, Alexander (Nokia - DE/Ulm)
2018-12-10 9:12 ` Boris Brezillon
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=20181207092637.18687-1-boris.brezillon@bootlin.com \
--to=boris.brezillon@bootlin.com \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=miquel.raynal@bootlin.com \
--cc=richard@nod.at \
--cc=tudor.ambarus@microchip.com \
--cc=vigneshr@ti.com \
--cc=yogeshnarayan.gaur@nxp.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.