mbox series

[GIT,PULL] mtd: Changes for 4.20

Message ID 20181022114345.65c144ef@bbrezillon
State Not Applicable
Headers show
Series [GIT,PULL] mtd: Changes for 4.20 | expand

Pull-request

git://git.infradead.org/linux-mtd.git tags/mtd/for-4.20

Message

Boris Brezillon Oct. 22, 2018, 9:43 a.m. UTC
Linus, Greg,

I'm sending this PR to both of you since I'm not sure who will be in
charge of 4.20 (5.0?) yet.

Regards,

Boris

The following changes since commit 57361846b52bc686112da6ca5368d11210796804:

  Linux 4.19-rc2 (2018-09-02 14:37:30 -0700)

are available in the Git repository at:

  git://git.infradead.org/linux-mtd.git tags/mtd/for-4.20

for you to fetch changes up to 042c1a5a6021f73c10dc84958c287eb2a2a26f7c:

  Merge tag 'nand/for-4.20' of git://git.infradead.org/linux-mtd into mtd/next (2018-10-19 09:20:09 +0200)

----------------------------------------------------------------
SPI NOR changes:
 Core changes:
  * Support non-uniform erase size
  * Support controllers with limited TX fifo size

 Driver changes:
  * m25p80: Re-issue a WREN command after each write access
  * cadence: Pass a proper dir value to dma_[un]map_single()
  * fsl-qspi: Check fsl_qspi_get_seqid() return val make sure 4B
    addressing opcodes are properly handled
  * intel-spi: Add a new PCI entry for Ice Lake

NAND changes:
 Raw NAND core changes:
 - Two batchs of cleanups of the NAND API, including:
   * Deprecating a lot of interfaces (now replaced by ->exec_op()).
   * Moving code in separate drivers (JEDEC, ONFI), in private files
     (internals), in platform drivers, etc.
   * Functions/structures reordering.
   * Exclusive use of the nand_chip structure instead of the MTD one
     all across the subsystem.
 - Addition of the nand_wait_readrdy/rdy_op() helpers.

 Raw NAND controllers drivers changes:
 - Various coccinelle patches.
 - Marvell:
   * Use regmap_update_bits() for syscon access.
   * More documentation.
   * BCH failure path rework.
   * More layouts to be supported.
   * IRQ handler complete() condition fixed.
 - Fsl_ifc:
   * SRAM initialization fixed for newer controller versions.
 - Denali:
   * Fix licenses mismatch and use a SPDX tag.
   * Set SPARE_AREA_SKIP_BYTES register to 8 if unset.
 - Qualcomm:
   * Do not include dma-direct.h.
 - Docg4:
   * Removed.
 - Ams-delta:
   * Use of a GPIO lookup table
   * Internal machinery changes.

 Raw NAND chip drivers changes:
 - Toshiba:
   * Add support for Toshiba memory BENAND
   * Pass a single nand_chip object to the status helper.
 - ESMT:
   * New driver to retrieve the ECC requirements from the 5th ID byte.

MTD changes:
 * physmap cleanups/fixe
 * gpio-addr-flash cleanups/fixes

----------------------------------------------------------------
Ahmad Fatoum (1):
      mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus

Boris Brezillon (52):
      mtd: rawnand: Add the nand_wait_readrdy() helper and use it
      mtd: rawnand: Add the nand_wait_rdy_op() helper and use it
      mtd: rawnand: Get rid of the ->read_word() hook
      mtd: rawnand: plat_nand: Pass a nand_chip object to all platform_nand_ctrl hooks
      mtd: rawnand: Pass a nand_chip object to nand_scan()
      mtd: rawnand: Pass a nand_chip object to nand_release()
      mtd: rawnand: Pass a nand_chip object to nand_wait_ready()
      mtd: rawnand: Pass a nand_chip object to ecc->hwctl()
      mtd: rawnand: Pass a nand_chip object to ecc->calculate()
      mtd: rawnand: Pass a nand_chip object to ecc->correct()
      mtd: rawnand: Pass a nand_chip object to ecc->read_xxx() hooks
      mtd: rawnand: Pass a nand_chip object to ecc->write_xxx() hooks
      mtd: rawnand: Pass a nand_chip object to chip->read_xxx() hooks
      mtd: rawnand: Pass a nand_chip object to chip->write_xxx() hooks
      mtd: rawnand: Pass a nand_chip object to chip->select_chip()
      mtd: rawnand: Pass a nand_chip object to chip->block_xxx() hooks
      mtd: rawnand: Pass a nand_chip object to chip->cmd_ctrl()
      mtd: rawnand: Pass a nand_chip object to chip->dev_ready()
      mtd: rawnand: Pass a nand_chip object to chip->cmdfunc()
      mtd: rawnand: Pass a nand_chip object to chip->waitfunc()
      mtd: rawnand: Pass a nand_chip object to chip->erase()
      mtd: rawnand: Pass a nand_chip object to chip->{get, set}_features()
      mtd: rawnand: Pass a nand_chip object to chip->setup_read_retry()
      mtd: rawnand: Pass a nand_chip object to chip->setup_data_interface()
      mtd: rawnand: Pass a nand_chip object to all nand_xxx_bbt() helpers
      mtd: rawnand: Pass a nand_chip object nand_erase_nand()
      mtd: rawnand: Remove docg4
      ARM: pxa: palmtreo: Drop docg4 specific init
      mtd: rawnand: Make maxchips an unsigned int
      mtd: rawnand: Do not treat !maxchips specially in nand_scan_with_ids()
      mtd: rawnand: Leave chip->IO_ADDR_{R, W} to NULL when unused
      mtd: rawnand: Create a legacy struct and move ->IO_ADDR_{R, W} there
      mtd: rawnand: Deprecate ->{read, write}_{byte, buf}() hooks
      mtd: rawnand: Deprecate ->cmd_ctrl() and ->cmdfunc()
      mtd: rawnand: Deprecate ->dev_ready() and ->waitfunc()
      mtd: rawnand: Deprecate ->block_{bad,markbad}() hooks
      mtd: rawnand: Deprecate ->erase()
      mtd: rawnand: Deprecate ->{set,get}_features() hooks
      mtd: rawnand: Deprecate ->chip_delay
      mtd: rawnand: Move function prototypes after struct declarations
      mtd: rawnand: Get rid of nand_flash_dev forward declation
      mtd: rawnand: Get rid of the duplicate nand_chip forward declaration
      mtd: rawnand: Get rid of a few unused definitions
      mtd: rawnand: Move platform_nand_xxx definitions out of rawnand.h
      mtd: rawnand: Inline onfi_get_async_timing_mode()
      mtd: rawnand: Keep all internal stuff private
      mtd: rawnand: Move legacy code to nand_legacy.c
      mtd: rawnand: Move ONFI code to nand_onfi.c
      mtd: rawnand: Move JEDEC code to nand_jedec.c
      mtd: rawnand: Allow selection of ECC byte ordering at runtime
      Merge tag 'spi-nor/for-4.20' of git://git.infradead.org/linux-mtd into mtd/next
      Merge tag 'nand/for-4.20' of git://git.infradead.org/linux-mtd into mtd/next

Christoph Hellwig (1):
      mtd: rawnand: qcom: don't include dma-direct.h

Colin Ian King (1):
      mtd: rawnand: r852: fix spelling mistake "card_registred" -> "card_registered"

Gustavo A. R. Silva (3):
      mtd: rawnand: jz4780: use struct_size() in devm_kzalloc()
      mtd: rawnand: atmel: use struct_size() in devm_kzalloc()
      mtd: rawnand: atmel: Fix potential NULL pointer dereference

Hou Tao (1):
      jffs2: free jffs2_sb_info through jffs2_kill_sb()

Janusz Krzysztofik (4):
      mtd: rawnand: ams-delta: use GPIO lookup table
      mtd: rawnand: ams-delta: show parent device in sysfs
      mtd: rawnand: ams-delta: Use private structure
      mtd: rawnand: ams-delta: Set port direction when needed

KOBAYASHI Yoshitake (1):
      mtd: rawnand: toshiba: Add support for Toshiba Memory BENAND (Built-in ECC NAND)

Konstantin Porotchkin (1):
      mtd: rawnand: marvell: Add support for 8kiB pages NAND chips layout

Kurt Kanzenbach (2):
      mtd: rawnand: fsl_ifc: check result of SRAM initialization
      mtd: rawnand: fsl_ifc: fixup SRAM init for newer ctrl versions

Liu Xiang (1):
      mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB

Marcel Ziswiler (2):
      mtd: rawnand: reorder NAND manufacturer IDs
      mtd: rawnand: ESMT: retrieve ECC requirements from 5th id byte

Masahiro Yamada (2):
      mtd: rawnand: denali: use SPDX-License-Identifier and fix license mismatch
      mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset

Mika Westerberg (1):
      mtd: spi-nor: intel-spi: Add support for Intel Ice Lake SPI serial flash

Miquel Raynal (6):
      mtd: rawnand: marvell: document a bit more the driver
      Documentation: mtd: remove stale pxa3xx NAND controller documentation
      mtd: rawnand: marvell: rework BCH engine failure path
      mtd: rawnand: marvell: support 8b/512B strength for 2kiB pages layout
      mtd: rawnand: toshiba: Pass a single nand_chip object to the status helper
      mtd: rawnand: marvell: fix the IRQ handler complete() condition

Nathan Chancellor (2):
      mtd: rawnand: sh_flctl: Use proper enum for flctl_dma_fifo0_transfer
      mtd: spi-nor: cadence-quadspi: Use proper enum for dma_[un]map_single

Ricardo Ribalda Delgado (8):
      mtd: physmap_of: Remove unused struct of_device_id
      mtd: physmap_of: Release resources on error
      mtd: maps: gpio-addr-flash: Replace custom printk
      mtd: maps: gpio-addr-flash: Fix ioremapped size
      mtd: maps: gpio-addr-flash: Use devm_* functions
      mtd: maps: gpio-addr-flash: Use order instead of size
      mtd: maps: gpio-addr-flash: Replace array with an integer
      mtd: maps: gpio-addr-flash: Convert to gpiod

Rob Herring (1):
      mtd: rawnand: Convert to using %pOFn instead of device_node.name

Thomas Petazzoni (1):
      mtd: rawnand: marvell: use regmap_update_bits() for syscon access

Tudor Ambarus (2):
      mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories
      mtd: spi-nor: parse SFDP Sector Map Parameter Table

Yogesh Gaur (2):
      mtd: spi-nor: Support controllers with limited TX FIFO size
      mtd: devices: m25p80: Make sure WRITE_EN is issued before each write

 Documentation/driver-api/mtdnand.rst             |   34 +-
 Documentation/mtd/nand/pxa3xx-nand.txt           |  113 ----
 arch/arm/mach-ep93xx/snappercl15.c               |   15 +-
 arch/arm/mach-ep93xx/ts72xx.c                    |   16 +-
 arch/arm/mach-imx/mach-qong.c                    |   17 +-
 arch/arm/mach-ixp4xx/ixdp425-setup.c             |    6 +-
 arch/arm/mach-omap1/board-fsample.c              |    5 +-
 arch/arm/mach-omap1/board-h2.c                   |    5 +-
 arch/arm/mach-omap1/board-h3.c                   |    4 +-
 arch/arm/mach-omap1/board-nand.c                 |    5 +-
 arch/arm/mach-omap1/board-perseus2.c             |    5 +-
 arch/arm/mach-omap1/common.h                     |    4 +-
 arch/arm/mach-orion5x/ts78xx-setup.c             |   27 +-
 arch/arm/mach-pxa/balloon3.c                     |   13 +-
 arch/arm/mach-pxa/em-x270.c                      |   14 +-
 arch/arm/mach-pxa/palmtreo.c                     |   31 -
 arch/arm/mach-pxa/palmtx.c                       |   10 +-
 arch/mips/alchemy/devboards/db1200.c             |   14 +-
 arch/mips/alchemy/devboards/db1300.c             |   14 +-
 arch/mips/alchemy/devboards/db1550.c             |   14 +-
 arch/mips/netlogic/xlr/platform-flash.c          |    7 +-
 arch/mips/pnx833x/common/platform.c              |    8 +-
 arch/mips/rb532/devices.c                        |   10 +-
 arch/sh/boards/mach-migor/setup.c                |   14 +-
 drivers/mtd/devices/m25p80.c                     |   23 +-
 drivers/mtd/maps/gpio-addr-flash.c               |  146 ++--
 drivers/mtd/maps/physmap_of_core.c               |   27 +-
 drivers/mtd/maps/physmap_of_gemini.c             |    5 -
 drivers/mtd/nand/raw/Kconfig                     |   20 -
 drivers/mtd/nand/raw/Makefile                    |    6 +-
 drivers/mtd/nand/raw/ams-delta.c                 |  249 ++++---
 drivers/mtd/nand/raw/atmel/nand-controller.c     |  111 ++-
 drivers/mtd/nand/raw/au1550nd.c                  |  124 ++--
 drivers/mtd/nand/raw/bcm47xxnflash/main.c        |    2 +-
 drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c |   58 +-
 drivers/mtd/nand/raw/brcmnand/brcmnand.c         |   93 ++-
 drivers/mtd/nand/raw/cafe_nand.c                 |   74 +-
 drivers/mtd/nand/raw/cmx270_nand.c               |   48 +-
 drivers/mtd/nand/raw/cs553x_nand.c               |   75 +--
 drivers/mtd/nand/raw/davinci_nand.c              |   93 ++-
 drivers/mtd/nand/raw/denali.c                    |  151 +++--
 drivers/mtd/nand/raw/denali.h                    |   10 +-
 drivers/mtd/nand/raw/denali_dt.c                 |   12 +-
 drivers/mtd/nand/raw/denali_pci.c                |   10 +-
 drivers/mtd/nand/raw/diskonchip.c                |  156 ++---
 drivers/mtd/nand/raw/docg4.c                     | 1442 ---------------------------------------
 drivers/mtd/nand/raw/fsl_elbc_nand.c             |   70 +-
 drivers/mtd/nand/raw/fsl_ifc_nand.c              |  106 +--
 drivers/mtd/nand/raw/fsl_upm.c                   |   66 +-
 drivers/mtd/nand/raw/fsmc_nand.c                 |   44 +-
 drivers/mtd/nand/raw/gpio.c                      |   29 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c        |    3 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c       |  111 ++-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h       |    2 +-
 drivers/mtd/nand/raw/hisi504_nand.c              |   68 +-
 drivers/mtd/nand/raw/internals.h                 |  115 ++++
 drivers/mtd/nand/raw/jz4740_nand.c               |   53 +-
 drivers/mtd/nand/raw/jz4780_nand.c               |   42 +-
 drivers/mtd/nand/raw/lpc32xx_mlc.c               |   59 +-
 drivers/mtd/nand/raw/lpc32xx_slc.c               |   83 ++-
 drivers/mtd/nand/raw/marvell_nand.c              |  275 +++++---
 drivers/mtd/nand/raw/mpc5121_nfc.c               |   65 +-
 drivers/mtd/nand/raw/mtk_nand.c                  |   93 ++-
 drivers/mtd/nand/raw/mxc_nand.c                  |  114 ++--
 drivers/mtd/nand/raw/nand_amd.c                  |    2 +-
 drivers/mtd/nand/raw/nand_base.c                 | 1721 ++++++++++-------------------------------------
 drivers/mtd/nand/raw/nand_bbt.c                  |   24 +-
 drivers/mtd/nand/raw/nand_bch.c                  |   10 +-
 drivers/mtd/nand/raw/nand_ecc.c                  |   99 ++-
 drivers/mtd/nand/raw/nand_esmt.c                 |   47 ++
 drivers/mtd/nand/raw/nand_hynix.c                |   15 +-
 drivers/mtd/nand/raw/nand_ids.c                  |   26 +-
 drivers/mtd/nand/raw/nand_jedec.c                |  113 ++++
 drivers/mtd/nand/raw/nand_legacy.c               |  642 ++++++++++++++++++
 drivers/mtd/nand/raw/nand_macronix.c             |    2 +-
 drivers/mtd/nand/raw/nand_micron.c               |   19 +-
 drivers/mtd/nand/raw/nand_onfi.c                 |  305 +++++++++
 drivers/mtd/nand/raw/nand_samsung.c              |    2 +-
 drivers/mtd/nand/raw/nand_timings.c              |   18 +-
 drivers/mtd/nand/raw/nand_toshiba.c              |   88 ++-
 drivers/mtd/nand/raw/nandsim.c                   |   50 +-
 drivers/mtd/nand/raw/ndfc.c                      |   43 +-
 drivers/mtd/nand/raw/nuc900_nand.c               |   47 +-
 drivers/mtd/nand/raw/omap2.c                     |  200 +++---
 drivers/mtd/nand/raw/orion_nand.c                |   26 +-
 drivers/mtd/nand/raw/oxnas_nand.c                |   29 +-
 drivers/mtd/nand/raw/pasemi_nand.c               |   51 +-
 drivers/mtd/nand/raw/plat_nand.c                 |   23 +-
 drivers/mtd/nand/raw/qcom_nandc.c                |   92 ++-
 drivers/mtd/nand/raw/r852.c                      |   80 +--
 drivers/mtd/nand/raw/r852.h                      |    2 +-
 drivers/mtd/nand/raw/s3c2410.c                   |  106 +--
 drivers/mtd/nand/raw/sh_flctl.c                  |   68 +-
 drivers/mtd/nand/raw/sharpsl.c                   |   36 +-
 drivers/mtd/nand/raw/sm_common.c                 |    7 +-
 drivers/mtd/nand/raw/socrates_nand.c             |   60 +-
 drivers/mtd/nand/raw/sunxi_nand.c                |   96 ++-
 drivers/mtd/nand/raw/tango_nand.c                |   77 +--
 drivers/mtd/nand/raw/tegra_nand.c                |   36 +-
 drivers/mtd/nand/raw/tmio_nand.c                 |   78 +--
 drivers/mtd/nand/raw/txx9ndfmc.c                 |   53 +-
 drivers/mtd/nand/raw/vf610_nfc.c                 |   43 +-
 drivers/mtd/nand/raw/xway_nand.c                 |   39 +-
 drivers/mtd/sm_ftl.c                             |   20 +-
 drivers/mtd/spi-nor/cadence-quadspi.c            |    4 +-
 drivers/mtd/spi-nor/fsl-quadspi.c                |   15 +-
 drivers/mtd/spi-nor/intel-spi-pci.c              |    1 +
 drivers/mtd/spi-nor/spi-nor.c                    |  925 +++++++++++++++++++++++--
 drivers/mtd/tests/mtd_nandecctest.c              |   21 +-
 drivers/staging/mt29f_spinand/mt29f_spinand.c    |   47 +-
 fs/jffs2/super.c                                 |    4 +-
 include/linux/fsl_ifc.h                          |    2 +
 include/linux/mtd/jedec.h                        |   91 +++
 include/linux/mtd/nand_bch.h                     |   11 +-
 include/linux/mtd/nand_ecc.h                     |   12 +-
 include/linux/mtd/onfi.h                         |  178 +++++
 include/linux/mtd/platnand.h                     |   74 ++
 include/linux/mtd/rawnand.h                      |  635 ++++-------------
 include/linux/mtd/spi-nor.h                      |  119 ++++
 119 files changed, 5374 insertions(+), 5998 deletions(-)
 delete mode 100644 Documentation/mtd/nand/pxa3xx-nand.txt
 delete mode 100644 drivers/mtd/nand/raw/docg4.c
 create mode 100644 drivers/mtd/nand/raw/internals.h
 create mode 100644 drivers/mtd/nand/raw/nand_esmt.c
 create mode 100644 drivers/mtd/nand/raw/nand_jedec.c
 create mode 100644 drivers/mtd/nand/raw/nand_legacy.c
 create mode 100644 drivers/mtd/nand/raw/nand_onfi.c
 create mode 100644 include/linux/mtd/jedec.h
 create mode 100644 include/linux/mtd/onfi.h
 create mode 100644 include/linux/mtd/platnand.h