Hi, Here is the SPI NOR PR for 5.7. I would like to thank Vignesh, Michael and Jungseung for their involvement in reviewing patches for this release cycle. You did a great job! Richard, Please note that I merged tag 'mtk-mtd-spi-move' into spi-nor/next, in order to spare Linus of solving conflicts during the merge window. The mtk-quadspi driver is replaced by the new spi-mem spi-mtk-nor driver, which was taken through Mark's tree. There was a conflict between this driver move and the move of all the SPI NOR controllers under drivers/mtd/spi-nor/controllers/. Cheers, ta The following changes since commit 11a48a5a18c63fd7621bb050228cebf13566e4d8: Linux 5.6-rc2 (2020-02-16 13:16:59 -0800) are available in the Git repository at: ssh://git@xxxxxxxxxxxxxxxxxxx/pub/scm/linux/kernel/git/mtd/linux.git tags/ spi-nor/for-5.7 for you to fetch changes up to f3f2b7eb2f1c5889b0a7162b6b5a69c0f357befd: mtd: spi-nor: Enable locking for n25q512ax3/n25q512a (2020-03-24 11:47:52 +0200) ---------------------------------------------------------------- SPI NOR core changes: - move all the manufacturer specific quirks/code out of the core, to make the core logic more readable and thus ease maintenance. - move the SFDP logic out of the core, it provides a better separation between the SFDP parsing and core logic. - trim what is exposed in spi-nor.h. The SPI NOR controllers drivers must not be able to use structures that are meant just for the SPI NOR core. - use the spi-mem direct mapping API to let advanced controllers optimize the read/write operations when they support direct mapping. - add generic formula for the Status Register block protection handling. It fixes some long standing locking limitations and eases the addition of the 4bit block protection support. - add block protection support for flashes with 4 block protection bits in the Status Register. SPI NOR controller drivers changes: - the mtk-quadspi driver is replaced by the new spi-mem spi-mtk-nor driver. Merge tag 'mtk-mtd-spi-move' into spi-nor/next to avoid conflicts. ---------------------------------------------------------------- Boris Brezillon (21): mtd: spi-nor: Stop prefixing generic functions with a manufacturer name mtd: spi-nor: Prepare core / manufacturer code split mtd: spi-nor: Expose stuctures and functions to manufacturer drivers mtd: spi-nor: Add the concept of SPI NOR manufacturer driver 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 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 Chuanhong Guo (4): spi: make spi-max-frequency optional spi: add support for mediatek spi-nor controller dt-bindings: convert mtk-quadspi binding doc for spi-mtk-nor mtd: spi-nor: remove mtk-quadspi driver Gustavo A. R. Silva (1): mtd: spi-nor: controllers: aspeed-smc: Replace zero-length array with flexible-array member Jonathan Neuschäfer (1): mtd: spi-nor: Refactor spi_nor_read_id() Jungseung Lee (4): mtd: spi-nor: introduce SR_BP_SHIFT define mtd: spi-nor: Add generic formula for SR block protection handling mtd: spi-nor: Add SR 4bit block protection support mtd: spi-nor: Enable locking for n25q512ax3/n25q512a Lukas Bulwahn (1): MAINTAINERS: update entry after SPI NOR controller move Sergei Shtylyov (3): mtd: spi-nor: use le32_to_cpu_array() mtd: spi-nor: split spi_nor_spimem_xfer_data() mtd: spi-nor: use spi-mem dirmap API Tudor Ambarus (7): Merge tag 'mtk-mtd-spi-move' into spi-nor/next mtd: spi-nor: Emphasise which is the generic set_4byte_addr_mode() method mtd: spi-nor: Move SFDP logic out of the core mtd: spi-nor: Drop the MFR definitions mtd: spi-nor: Trim what is exposed in spi-nor.h mtd: spi-nor: Clear WEL bit when erase or program errors occur mtd: spi-nor: Set all BP bits to one when lock_len == mtd->size Documentation/devicetree/bindings/{mtd/mtk-quadspi.txt => spi/spi-mtk- nor.txt} | 15 +- MAINTAINERS | 2 +- drivers/mtd/spi-nor/Kconfig | 83 +-- drivers/mtd/spi-nor/Makefile | 26 +- drivers/mtd/spi-nor/atmel.c | 46 ++ drivers/mtd/spi-nor/catalyst.c | 29 + drivers/mtd/spi-nor/controllers/Kconfig | 75 +++ drivers/mtd/spi-nor/controllers/Makefile | 8 + drivers/mtd/spi-nor/{ => controllers}/aspeed-smc.c | 2 +- drivers/mtd/spi-nor/{ => controllers}/cadence-quadspi.c | 0 drivers/mtd/spi-nor/{ => controllers}/hisi-sfc.c | 0 drivers/mtd/spi-nor/{ => controllers}/intel-spi-pci.c | 0 drivers/mtd/spi-nor/{ => controllers}/intel-spi-platform.c | 0 drivers/mtd/spi-nor/{ => controllers}/intel-spi.c | 0 drivers/mtd/spi-nor/{ => controllers}/intel-spi.h | 0 drivers/mtd/spi-nor/{ => controllers}/nxp-spifi.c | 0 drivers/mtd/spi-nor/core.c | 3466 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++ drivers/mtd/spi-nor/core.h | 441 +++++++++++++ drivers/mtd/spi-nor/eon.c | 34 + drivers/mtd/spi-nor/esmt.c | 25 + drivers/mtd/spi-nor/everspin.c | 27 + drivers/mtd/spi-nor/fujitsu.c | 20 + drivers/mtd/spi-nor/gigadevice.c | 59 ++ drivers/mtd/spi-nor/intel.c | 32 + drivers/mtd/spi-nor/issi.c | 83 +++ drivers/mtd/spi-nor/macronix.c | 98 +++ drivers/mtd/spi-nor/micron-st.c | 157 +++++ drivers/mtd/spi-nor/mtk-quadspi.c | 565 ---------------- drivers/mtd/spi-nor/sfdp.c | 1205 ++++++++++++++++++++++++++++++++++ drivers/mtd/spi-nor/sfdp.h | 98 +++ drivers/mtd/spi-nor/spansion.c | 95 +++ drivers/mtd/spi-nor/spi-nor.c | 5434 ------------------------------------------------------------------------------------------------------------------------------------------------------ drivers/mtd/spi-nor/sst.c | 151 +++++ drivers/mtd/spi-nor/winbond.c | 112 ++++ drivers/mtd/spi-nor/xilinx.c | 94 +++ drivers/mtd/spi-nor/xmc.c | 23 + drivers/spi/Kconfig | 10 + drivers/spi/Makefile | 1 + drivers/spi/spi-mtk-nor.c | 689 +++++++++++++++++++ drivers/spi/spi.c | 9 +- include/linux/mtd/spi-nor.h | 285 +------- 41 files changed, 7126 insertions(+), 6373 deletions(-) rename Documentation/devicetree/bindings/{mtd/mtk-quadspi.txt => spi/spi-mtk- nor.txt} (75%) 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 (99%) rename drivers/mtd/spi-nor/{ => controllers}/cadence-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}/nxp-spifi.c (100%) create mode 100644 drivers/mtd/spi-nor/core.c create mode 100644 drivers/mtd/spi-nor/core.h 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/issi.c create mode 100644 drivers/mtd/spi-nor/macronix.c create mode 100644 drivers/mtd/spi-nor/micron-st.c delete mode 100644 drivers/mtd/spi-nor/mtk-quadspi.c create mode 100644 drivers/mtd/spi-nor/sfdp.c create mode 100644 drivers/mtd/spi-nor/sfdp.h 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 create mode 100644 drivers/spi/spi-mtk-nor.c ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/