mbox series

mtd: nand: Changes for 4.19

Message ID 20180801120429.62dfdb11@xps13
State Not Applicable
Delegated to: Miquel Raynal
Headers show
Series mtd: nand: Changes for 4.19 | expand

Pull-request

git://git.infradead.org/linux-mtd.git tags/nand/for-4.19

Message

Miquel Raynal Aug. 1, 2018, 10:04 a.m. UTC
The following changes since commit 021c91791a5e7e85c567452f1be3e4c2c6cb6063:

  Linux 4.18-rc3 (2018-07-01 16:04:53 -0700)

are available in the git repository at:

  git://git.infradead.org/linux-mtd.git tags/nand/for-4.19

for you to fetch changes up to ed128e8b757b4e759e5585df720888b30a7f2196:

  MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support (2018-08-01 09:46:09 +0200)

----------------------------------------------------------------
NAND core changes:
- Add the SPI-NAND framework.
- Create a helper to find the best ECC configuration.
- Create NAND controller operations.
- Allocate dynamically ONFI parameters structure.
- Add defines for ONFI version bits.
- Add manufacturer fixup for ONFI parameter page.
- Add an option to specify NAND chip as a boot device.
- Add Reed-Solomon error correction algorithm.
- Better name for the controller structure.
- Remove unused caller_is_module() definition.
- Make subop helpers return unsigned values.
- Expose _notsupp() helpers for raw page accessors.
- Add default values for dynamic timings.
- Kill the chip->scan_bbt() hook.
- Rename nand_default_bbt() into nand_create_bbt().
- Start to clean the nand_chip structure.
- Remove stale prototype from rawnand.h.

Raw NAND controllers drivers changes:
- Qcom: structuring cleanup.
- Denali: use core helper to find the best ECC configuration.
- Possible build of almost all drivers by adding a dependency on
  COMPILE_TEST for almost all of them in Kconfig, implies various
  fixes, Kconfig cleanup, GPIO headers inclusion cleanup, and even
  changes in sparc64 and ia64 architectures.
- Clean the ->probe() functions error path of a lot of drivers.
- Migrate all drivers to use nand_scan() instead of
  nand_scan_ident()/nand_scan_tail() pair.
- Use mtd_device_register() where applicable to simplify the code.
- Marvell:
  * Handle on-die ECC.
  * Better clocks handling.
  * Remove bogus comment.
  * Add suspend and resume support.
- Tegra: add NAND controller driver.
- Atmel:
  * Add module param to avoid using dma.
  * Drop Wenyou Yang from MAINTAINERS.
- Denali: optimize timings handling.
- FSMC: Stop using chip->read_buf().
- FSL:
  * Switch to SPDX license tag identifiers.
  * Fix qualifiers in MXC init functions.

Raw NAND chip drivers changes:
- Micron:
  * Add fixup for ONFI revision.
  * Update ecc_stats.corrected.
  * Make ECC activation stateful.
  * Avoid enabling/disabling ECC when it can't be disabled.
  * Get the actual number of bitflips.
  * Allow forced on-die ECC.
  * Support 8/512 on-die ECC.
  * Fix on-die ECC detection logic.
- Hynix:
  * Fix decoding the OOB size on H27UCG8T2BTR.
  * Use ->exec_op() in hynix_nand_reg_write_op().

----------------------------------------------------------------
Abhishek Sahu (15):
      mtd: rawnand: helper function for setting up ECC configuration
      mtd: rawnand: denali: use helper function for ecc setup
      dt-bindings: qcom_nandc: update for ECC strength and step size
      mtd: rawnand: qcom: remove dt property nand-ecc-step-size
      mtd: rawnand: qcom: use the ecc strength from device parameter
      mtd: rawnand: qcom: wait for desc completion in all BAM channels
      mtd: rawnand: qcom: erased page detection for uncorrectable errors only
      mtd: rawnand: qcom: fix null pointer access for erased page detection
      mtd: rawnand: qcom: parse read errors for read oob also
      mtd: rawnand: qcom: modify write_oob to remove read codeword part
      mtd: rawnand: qcom: fix return value for raw page read
      mtd: rawnand: qcom: check for operation errors in case of raw read
      mtd: rawnand: qcom: code reorganization for raw read
      mtd: rawnand: provide only single helper function for ECC conf
      mtd: rawnand: qcom: erased page bitflips detection

Anders Roxell (1):
      drivers/memory/Kconfig: Add CONFIG_OF dependency

Arnd Bergmann (4):
      mtd: rawnand: MTD_NAND_BCM47XXNFLASH needs CONFIG_BCMA
      mtd: rawnand: qcom: stop using phys_to_dma()
      ia64: use asm-generic/io.h
      sparc64: add reads{b,w,l}/writes{b,w,l}

Boris Brezillon (60):
      mtd: rawnand: micron: Update ecc_stats.corrected
      dt-bindings: Add bindings for SPI NAND devices
      mtd: spinand: Add initial support for the MX35LF1GE4AB chip
      mtd: rawnand: gpmi: Remove useless dependency on MTD_NAND
      mtd: rawnand: Add 'depends on HAS_IOMEM' where missing
      mtd: rawnand: omap2: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: sharpsl: Remove inclusion of mach and asm headers
      mtd: rawnand: sharpsl: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: lpc32xx: Allow selection of these drivers when COMPILE_TEST=y
      mtd: rawnand: brcmnand: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: mxc: Avoid inclusion of asm/mach headers
      mtd: rawnand: mxc: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: qcom: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: nuc900: Allow selection of this driver when COMPILE_TEST=y
      bcma: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: Kill cafe_nand_bug()
      mtd: rawnand: Remove nand_do_read() prototype from rawnand.h
      mtd: rawnand: Remove forward declaration of mtd_info
      mtd: rawnand: Remove forward declaration of device_node
      mtd: rawnand: Rename nand_default_bbt() into nand_create_bbt()
      mtd: rawnand: Kill the chip->scan_bbt() hook
      mtd: rawnand: orion_nand: Kill orion_nand_data.dev_ready()
      mtd: rawnand: plat_nand: Kill pdata->ctrl.{hwcontrol, read_byte}()
      mtd: rawnand: hynix: Use ->exec_op() in hynix_nand_reg_write_op()
      mtd: rawnand: atmel: Use uintptr_t casts instead of unsigned int
      mtd: rawnand: atmel: Add an __iomem cast on gen_pool_dma_alloc() call
      mtd: rawnand: atmel: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: davinci: Stop doing iomem pointer <-> u32 conversions
      mtd: rawnand: davinci: Use uintptr_t casts instead of unsigned ones
      mtd: rawnand: davinci: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: sunxi: Add an U suffix to NFC_PAGE_OP definition
      mtd: rawnand: sunxi: Make sure ret is initialized in sunxi_nfc_read_byte()
      mtd: rawnand: sunxi: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: fscm: Avoid collision on PC def when compiling for MIPS
      mtd: rawnand: fsmc: Use uintptr_t casts instead of unsigned ones
      mtd: rawnand: fsmc: Allow selection of this driver when COMPILE_TEST=y
      memory: fsl_ifc: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: fsl_ifc: Add an __iomem specifier on eccstat_regs
      mtd: rawnand: fsl_ifc: Allow selection of this driver when COMPILE_TEST=y
      MIPS: txx9: Move the ndfc.h header to include/linux/platform_data/txx9
      mtd: rawnand: txx9ndfmc: Allow selection of this driver when COMPILE_TEST=y
      MIPS: jz4740: Move jz4740_nand.h header to include/linux/platform_data/jz4740
      mtd: rawnand: jz4740: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: jz4780: Drop the dependency on MACH_JZ4780
      mtd: rawnand: jz4740: Use the proper format specifier to print chipnr
      memory: jz4780-nemc: Allow selection of this driver when COMPILE_TEST=y
      mtd: rawnand: fsmc: Stop using chip->read_buf()
      mtd: rawnand: micron: Fix on-die ECC detection logic
      mtd: rawnand: Expose _notsupp() helpers for raw page accessors
      mtd: rawnand: micron: Get the actual number of bitflips
      mtd: rawnand: micron: Avoid enabling/disabling ECC when it can't be disabled
      mtd: rawnand: micron: Make ECC activation stateful
      mtd: rawnand: orion: Avoid direct inclusion of asm headers
      mtd: rawnand: orion: Handle cases where __LINUX_ARM_ARCH__ is not defined
      mtd: rawnand: s3c2410: Error out when ->nrsets < 0 or ->sets == NULL
      mtd: rawnand: Remove unused caller_is_module() definition
      mtd: rawnand: jz4740: Include gpio/consumer.h instead of gpio.h
      mtd: rawnand: sunxi: Remove gpio.h and of_gpio.h inclusions
      mtd: rawnand: atmel: Stop including gpio.h
      mtd: rawnand: au1550nd: Remove unneeded gpio.h inclusion

Chris Packham (6):
      mtd: rawnand: marvell: Handle on-die ECC
      mtd: rawnand: add manufacturer fixup for ONFI parameter page
      mtd: rawnand: add defines for ONFI version bits
      mtd: rawnand: micron: add fixup for ONFI revision
      mtd: rawnand: micron: support 8/512 on-die ECC
      mtd: rawnand: micron: allow forced on-die ECC

Colin Ian King (1):
      mtd: rawnand: gpmi: remove redundant variable payload_virt

Daniel Mack (3):
      mtd: rawnand: marvell: add suspend and resume hooks
      mtd: rawnand: marvell: remove bogus comment in marvell_nfc_select_chip()
      mtd: rawnand: marvell: set reg_clk to NULL if it can't be obtained

Fabio Estevam (2):
      mtd: rawnand: gpmi: Switch to SPDX identifier
      mtd: rawnand: mxc: Switch to SPDX identifier

Frieder Schrempf (1):
      mtd: spinand: Add initial support for Winbond W25M02GV

Martin Blumenstingl (1):
      mtd: rawnand: hynix: fix decoding the OOB size on H27UCG8T2BTR

Martin Kaiser (1):
      mtd: rawnand: mxc: remove __init qualifier from mxcnd_probe_dt

Masahiro Yamada (4):
      mtd: rawnand: denali_dt: use dev as a shorthand of &pdev->dev
      dt-binding: mtd: denali_dt: document clock property
      mtd: rawnand: denali_dt: add more clocks based on IP datasheet
      mtd: rawnand: denali: optimize timing parameters for data interface

Miquel Raynal (48):
      mtd: spinand: macronix: Add support for MX35LF2GE4AB
      mtd: rawnand: docg4: fix the probe function error path
      mtd: rawnand: fix indentation in Kconfig
      mtd: rawnand: add default values for dynamic timings
      mtd: rawnand: make subop helpers return unsigned values
      mtd: rawnand: better name for the controller structure
      mtd: rawnand: add hooks that may be called during nand_scan()
      mtd: rawnand: davinci: convert driver to nand_scan()
      mtd: rawnand: denali: convert to nand_scan()
      mtd: rawnand: fsl_elbc: return meaningful values
      mtd: rawnand: fsl_elbc: convert driver to nand_scan()
      mtd: rawnand: fsl_ifc: convert driver to nand_scan()
      mtd: rawnand: fsmc: convert driver to nand_scan()
      mtd: rawnand: gpmi: convert driver to nand_scan()
      mtd: rawnand: hisi504: convert driver to nand_scan()
      mtd: rawnand: jz4780: convert driver to nand_scan()
      mtd: rawnand: lpc32xx_slc: convert driver to nand_scan()
      mtd: rawnand: marvell: convert driver to nand_scan()
      mtd: rawnand: mtk: convert driver to nand_scan()
      mtd: rawnand: mxc: convert driver to nand_scan()
      mtd: rawnand: nandsim: convert driver to nand_scan()
      mtd: rawnand: s3c2410: convert driver to nand_scan()
      mtd: rawnand: sh_flctl: convert driver to nand_scan()
      mtd: rawnand: sunxi: convert driver to nand_scan()
      mtd: rawnand: tango: convert driver to nand_scan()
      mtd: rawnand: txx9ndfmc: rename nand controller internal structure
      mtd: rawnand: vf610: convert driver to nand_scan()
      mtd: rawnand: sm_common: fix the probe function error path
      mtd: rawnand: sm_common: convert driver to nand_scan_with_ids()
      mtd: rawnand: qcom: convert driver to nand_scan()
      mtd: rawnand: brcmnand: convert driver to nand_scan()
      mtd: rawnand: cafe: convert driver to nand_scan()
      mtd: rawnand: lpc32xx_mlc: convert driver to nand_scan()
      mtd: rawnand: omap2: convert driver to nand_scan()
      mtd: rawnand: atmel: clarify NAND addition/removal paths
      mtd: rawnand: atmel: convert driver to nand_scan()
      mtd: rawnand: do not execute nand_scan_ident() if maxchips is zero
      mtd: rawnand: docg4: convert driver to nand_scan()
      mtd: rawnand: jz4740: fix probe function error path
      mtd: rawnand: jz4740: group nand_scan_{ident, tail} calls
      mtd: rawnand: jz4740: convert driver to nand_scan()
      mtd: rawnand: tegra: convert driver to nand_scan()
      mtd: rawnand: txx9ndfmc: clarify ECC parameters assignation
      mtd: rawnand: txx9ndfmc: convert driver to nand_scan()
      mtd: rawnand: do not export nand_scan_[ident|tail]() anymore
      mtd: rawnand: allocate model parameter dynamically
      mtd: rawnand: allocate dynamically ONFI parameters during detection
      MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support

Peter Pan (2):
      mtd: nand: Add core infrastructure to support SPI NANDs
      mtd: spinand: Add initial support for Micron MT29F2G01ABAGD

Peter Rosin (1):
      mtd: rawnand: atmel: add module param to avoid using dma

Rafał Miłecki (2):
      mtd: rawnand: use mtd_device_register() where applicable
      mtd: onenand: use mtd_device_register() where applicable

Stefan Agner (5):
      mtd: rawnand: add Reed-Solomon error correction algorithm
      mtd: rawnand: add an option to specify NAND chip as a boot device
      dt-bindings: mtd: add tegra NAND controller binding
      mtd: rawnand: add NVIDIA Tegra NAND Flash controller driver
      mtd: rawnand: tegra: check bounds of die_nr properly

 .../devicetree/bindings/mtd/denali-nand.txt        |    5 +
 Documentation/devicetree/bindings/mtd/nand.txt     |    6 +-
 .../bindings/mtd/nvidia-tegra20-nand.txt           |   64 +
 .../devicetree/bindings/mtd/qcom_nandc.txt         |    7 +-
 Documentation/devicetree/bindings/mtd/spi-nand.txt |    5 +
 MAINTAINERS                                        |    8 +-
 arch/arm/mach-pxa/balloon3.c                       |    1 -
 arch/arm/mach-pxa/em-x270.c                        |    1 -
 arch/ia64/include/asm/io.h                         |   13 +-
 arch/mips/jz4740/board-qi_lb60.c                   |    3 +-
 arch/mips/txx9/generic/setup.c                     |    2 +-
 arch/mips/txx9/generic/setup_tx4938.c              |    2 +-
 arch/mips/txx9/generic/setup_tx4939.c              |    2 +-
 arch/sparc/include/asm/io_64.h                     |   19 +-
 drivers/bcma/Kconfig                               |    3 +-
 drivers/memory/Kconfig                             |    6 +-
 drivers/mtd/nand/Kconfig                           |    1 +
 drivers/mtd/nand/Makefile                          |    1 +
 drivers/mtd/nand/onenand/generic.c                 |    5 +-
 drivers/mtd/nand/onenand/samsung.c                 |    5 +-
 drivers/mtd/nand/raw/Kconfig                       |  152 ++-
 drivers/mtd/nand/raw/Makefile                      |    1 +
 drivers/mtd/nand/raw/atmel/nand-controller.c       |  175 ++-
 drivers/mtd/nand/raw/au1550nd.c                    |    1 -
 drivers/mtd/nand/raw/brcmnand/brcmnand.c           |   67 +-
 drivers/mtd/nand/raw/cafe_nand.c                   |  143 ++-
 drivers/mtd/nand/raw/cmx270_nand.c                 |    4 +-
 drivers/mtd/nand/raw/cs553x_nand.c                 |    3 +-
 drivers/mtd/nand/raw/davinci_nand.c                |  231 ++--
 drivers/mtd/nand/raw/denali.c                      |  216 ++--
 drivers/mtd/nand/raw/denali.h                      |    1 +
 drivers/mtd/nand/raw/denali_dt.c                   |   72 +-
 drivers/mtd/nand/raw/denali_pci.c                  |    1 +
 drivers/mtd/nand/raw/diskonchip.c                  |    4 +-
 drivers/mtd/nand/raw/docg4.c                       |   89 +-
 drivers/mtd/nand/raw/fsl_elbc_nand.c               |   25 +-
 drivers/mtd/nand/raw/fsl_ifc_nand.c                |   25 +-
 drivers/mtd/nand/raw/fsmc_nand.c                   |  183 +--
 drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c          |   15 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c         |   76 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h         |   11 +-
 drivers/mtd/nand/raw/hisi504_nand.c                |   78 +-
 drivers/mtd/nand/raw/jz4740_nand.c                 |   51 +-
 drivers/mtd/nand/raw/jz4780_nand.c                 |   41 +-
 drivers/mtd/nand/raw/lpc32xx_mlc.c                 |   61 +-
 drivers/mtd/nand/raw/lpc32xx_slc.c                 |   77 +-
 drivers/mtd/nand/raw/marvell_nand.c                |  302 +++--
 drivers/mtd/nand/raw/mtk_nand.c                    |   79 +-
 drivers/mtd/nand/raw/mxc_nand.c                    |  157 ++-
 drivers/mtd/nand/raw/nand_base.c                   |  343 ++++--
 drivers/mtd/nand/raw/nand_bbt.c                    |   10 +-
 drivers/mtd/nand/raw/nand_hynix.c                  |   23 +
 drivers/mtd/nand/raw/nand_micron.c                 |  351 +++++-
 drivers/mtd/nand/raw/nand_timings.c                |   32 +-
 drivers/mtd/nand/raw/nandsim.c                     |   84 +-
 drivers/mtd/nand/raw/ndfc.c                        |    4 +-
 drivers/mtd/nand/raw/omap2.c                       |  533 +++++----
 drivers/mtd/nand/raw/orion_nand.c                  |    9 +-
 drivers/mtd/nand/raw/oxnas_nand.c                  |    4 +-
 drivers/mtd/nand/raw/plat_nand.c                   |    2 -
 drivers/mtd/nand/raw/qcom_nandc.c                  |  595 ++++++----
 drivers/mtd/nand/raw/s3c2410.c                     |   52 +-
 drivers/mtd/nand/raw/sh_flctl.c                    |   36 +-
 drivers/mtd/nand/raw/sharpsl.c                     |    5 +-
 drivers/mtd/nand/raw/sm_common.c                   |   39 +-
 drivers/mtd/nand/raw/sunxi_nand.c                  |   55 +-
 drivers/mtd/nand/raw/tango_nand.c                  |   44 +-
 drivers/mtd/nand/raw/tegra_nand.c                  | 1246 ++++++++++++++++++++
 drivers/mtd/nand/raw/txx9ndfmc.c                   |   42 +-
 drivers/mtd/nand/raw/vf610_nfc.c                   |  127 +-
 drivers/mtd/nand/spi/Kconfig                       |    7 +
 drivers/mtd/nand/spi/Makefile                      |    3 +
 drivers/mtd/nand/spi/core.c                        | 1155 ++++++++++++++++++
 drivers/mtd/nand/spi/macronix.c                    |  144 +++
 drivers/mtd/nand/spi/micron.c                      |  133 +++
 drivers/mtd/nand/spi/winbond.c                     |  141 +++
 include/linux/mtd/rawnand.h                        |  126 +-
 include/linux/mtd/spinand.h                        |  421 +++++++
 .../linux/platform_data/jz4740}/jz4740_nand.h      |    4 +-
 include/linux/platform_data/mtd-orion_nand.h       |    1 -
 .../linux/platform_data}/txx9/ndfmc.h              |    6 +-
 include/linux/spi/spi-mem.h                        |    4 +-
 82 files changed, 6200 insertions(+), 2081 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt
 create mode 100644 Documentation/devicetree/bindings/mtd/spi-nand.txt
 create mode 100644 drivers/mtd/nand/raw/tegra_nand.c
 create mode 100644 drivers/mtd/nand/spi/Kconfig
 create mode 100644 drivers/mtd/nand/spi/Makefile
 create mode 100644 drivers/mtd/nand/spi/core.c
 create mode 100644 drivers/mtd/nand/spi/macronix.c
 create mode 100644 drivers/mtd/nand/spi/micron.c
 create mode 100644 drivers/mtd/nand/spi/winbond.c
 create mode 100644 include/linux/mtd/spinand.h
 rename {arch/mips/include/asm/mach-jz4740 => include/linux/platform_data/jz4740}/jz4740_nand.h (91%)
 rename {arch/mips/include/asm => include/linux/platform_data}/txx9/ndfmc.h (91%)

Comments

Boris Brezillon Aug. 11, 2018, 10:21 a.m. UTC | #1
On Wed, 1 Aug 2018 12:04:29 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> The following changes since commit 021c91791a5e7e85c567452f1be3e4c2c6cb6063:
> 
>   Linux 4.18-rc3 (2018-07-01 16:04:53 -0700)
> 
> are available in the git repository at:
> 
>   git://git.infradead.org/linux-mtd.git tags/nand/for-4.19
> 
> for you to fetch changes up to ed128e8b757b4e759e5585df720888b30a7f2196:
> 
>   MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support (2018-08-01 09:46:09 +0200)

PR merged in mtd/next.

Thanks,

Boris

> 
> ----------------------------------------------------------------
> NAND core changes:
> - Add the SPI-NAND framework.
> - Create a helper to find the best ECC configuration.
> - Create NAND controller operations.
> - Allocate dynamically ONFI parameters structure.
> - Add defines for ONFI version bits.
> - Add manufacturer fixup for ONFI parameter page.
> - Add an option to specify NAND chip as a boot device.
> - Add Reed-Solomon error correction algorithm.
> - Better name for the controller structure.
> - Remove unused caller_is_module() definition.
> - Make subop helpers return unsigned values.
> - Expose _notsupp() helpers for raw page accessors.
> - Add default values for dynamic timings.
> - Kill the chip->scan_bbt() hook.
> - Rename nand_default_bbt() into nand_create_bbt().
> - Start to clean the nand_chip structure.
> - Remove stale prototype from rawnand.h.
> 
> Raw NAND controllers drivers changes:
> - Qcom: structuring cleanup.
> - Denali: use core helper to find the best ECC configuration.
> - Possible build of almost all drivers by adding a dependency on
>   COMPILE_TEST for almost all of them in Kconfig, implies various
>   fixes, Kconfig cleanup, GPIO headers inclusion cleanup, and even
>   changes in sparc64 and ia64 architectures.
> - Clean the ->probe() functions error path of a lot of drivers.
> - Migrate all drivers to use nand_scan() instead of
>   nand_scan_ident()/nand_scan_tail() pair.
> - Use mtd_device_register() where applicable to simplify the code.
> - Marvell:
>   * Handle on-die ECC.
>   * Better clocks handling.
>   * Remove bogus comment.
>   * Add suspend and resume support.
> - Tegra: add NAND controller driver.
> - Atmel:
>   * Add module param to avoid using dma.
>   * Drop Wenyou Yang from MAINTAINERS.
> - Denali: optimize timings handling.
> - FSMC: Stop using chip->read_buf().
> - FSL:
>   * Switch to SPDX license tag identifiers.
>   * Fix qualifiers in MXC init functions.
> 
> Raw NAND chip drivers changes:
> - Micron:
>   * Add fixup for ONFI revision.
>   * Update ecc_stats.corrected.
>   * Make ECC activation stateful.
>   * Avoid enabling/disabling ECC when it can't be disabled.
>   * Get the actual number of bitflips.
>   * Allow forced on-die ECC.
>   * Support 8/512 on-die ECC.
>   * Fix on-die ECC detection logic.
> - Hynix:
>   * Fix decoding the OOB size on H27UCG8T2BTR.
>   * Use ->exec_op() in hynix_nand_reg_write_op().
> 
> ----------------------------------------------------------------
> Abhishek Sahu (15):
>       mtd: rawnand: helper function for setting up ECC configuration
>       mtd: rawnand: denali: use helper function for ecc setup
>       dt-bindings: qcom_nandc: update for ECC strength and step size
>       mtd: rawnand: qcom: remove dt property nand-ecc-step-size
>       mtd: rawnand: qcom: use the ecc strength from device parameter
>       mtd: rawnand: qcom: wait for desc completion in all BAM channels
>       mtd: rawnand: qcom: erased page detection for uncorrectable errors only
>       mtd: rawnand: qcom: fix null pointer access for erased page detection
>       mtd: rawnand: qcom: parse read errors for read oob also
>       mtd: rawnand: qcom: modify write_oob to remove read codeword part
>       mtd: rawnand: qcom: fix return value for raw page read
>       mtd: rawnand: qcom: check for operation errors in case of raw read
>       mtd: rawnand: qcom: code reorganization for raw read
>       mtd: rawnand: provide only single helper function for ECC conf
>       mtd: rawnand: qcom: erased page bitflips detection
> 
> Anders Roxell (1):
>       drivers/memory/Kconfig: Add CONFIG_OF dependency
> 
> Arnd Bergmann (4):
>       mtd: rawnand: MTD_NAND_BCM47XXNFLASH needs CONFIG_BCMA
>       mtd: rawnand: qcom: stop using phys_to_dma()
>       ia64: use asm-generic/io.h
>       sparc64: add reads{b,w,l}/writes{b,w,l}
> 
> Boris Brezillon (60):
>       mtd: rawnand: micron: Update ecc_stats.corrected
>       dt-bindings: Add bindings for SPI NAND devices
>       mtd: spinand: Add initial support for the MX35LF1GE4AB chip
>       mtd: rawnand: gpmi: Remove useless dependency on MTD_NAND
>       mtd: rawnand: Add 'depends on HAS_IOMEM' where missing
>       mtd: rawnand: omap2: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: sharpsl: Remove inclusion of mach and asm headers
>       mtd: rawnand: sharpsl: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: lpc32xx: Allow selection of these drivers when COMPILE_TEST=y
>       mtd: rawnand: brcmnand: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: mxc: Avoid inclusion of asm/mach headers
>       mtd: rawnand: mxc: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: qcom: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: nuc900: Allow selection of this driver when COMPILE_TEST=y
>       bcma: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: Kill cafe_nand_bug()
>       mtd: rawnand: Remove nand_do_read() prototype from rawnand.h
>       mtd: rawnand: Remove forward declaration of mtd_info
>       mtd: rawnand: Remove forward declaration of device_node
>       mtd: rawnand: Rename nand_default_bbt() into nand_create_bbt()
>       mtd: rawnand: Kill the chip->scan_bbt() hook
>       mtd: rawnand: orion_nand: Kill orion_nand_data.dev_ready()
>       mtd: rawnand: plat_nand: Kill pdata->ctrl.{hwcontrol, read_byte}()
>       mtd: rawnand: hynix: Use ->exec_op() in hynix_nand_reg_write_op()
>       mtd: rawnand: atmel: Use uintptr_t casts instead of unsigned int
>       mtd: rawnand: atmel: Add an __iomem cast on gen_pool_dma_alloc() call
>       mtd: rawnand: atmel: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: davinci: Stop doing iomem pointer <-> u32 conversions
>       mtd: rawnand: davinci: Use uintptr_t casts instead of unsigned ones
>       mtd: rawnand: davinci: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: sunxi: Add an U suffix to NFC_PAGE_OP definition
>       mtd: rawnand: sunxi: Make sure ret is initialized in sunxi_nfc_read_byte()
>       mtd: rawnand: sunxi: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: fscm: Avoid collision on PC def when compiling for MIPS
>       mtd: rawnand: fsmc: Use uintptr_t casts instead of unsigned ones
>       mtd: rawnand: fsmc: Allow selection of this driver when COMPILE_TEST=y
>       memory: fsl_ifc: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: fsl_ifc: Add an __iomem specifier on eccstat_regs
>       mtd: rawnand: fsl_ifc: Allow selection of this driver when COMPILE_TEST=y
>       MIPS: txx9: Move the ndfc.h header to include/linux/platform_data/txx9
>       mtd: rawnand: txx9ndfmc: Allow selection of this driver when COMPILE_TEST=y
>       MIPS: jz4740: Move jz4740_nand.h header to include/linux/platform_data/jz4740
>       mtd: rawnand: jz4740: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: jz4780: Drop the dependency on MACH_JZ4780
>       mtd: rawnand: jz4740: Use the proper format specifier to print chipnr
>       memory: jz4780-nemc: Allow selection of this driver when COMPILE_TEST=y
>       mtd: rawnand: fsmc: Stop using chip->read_buf()
>       mtd: rawnand: micron: Fix on-die ECC detection logic
>       mtd: rawnand: Expose _notsupp() helpers for raw page accessors
>       mtd: rawnand: micron: Get the actual number of bitflips
>       mtd: rawnand: micron: Avoid enabling/disabling ECC when it can't be disabled
>       mtd: rawnand: micron: Make ECC activation stateful
>       mtd: rawnand: orion: Avoid direct inclusion of asm headers
>       mtd: rawnand: orion: Handle cases where __LINUX_ARM_ARCH__ is not defined
>       mtd: rawnand: s3c2410: Error out when ->nrsets < 0 or ->sets == NULL
>       mtd: rawnand: Remove unused caller_is_module() definition
>       mtd: rawnand: jz4740: Include gpio/consumer.h instead of gpio.h
>       mtd: rawnand: sunxi: Remove gpio.h and of_gpio.h inclusions
>       mtd: rawnand: atmel: Stop including gpio.h
>       mtd: rawnand: au1550nd: Remove unneeded gpio.h inclusion
> 
> Chris Packham (6):
>       mtd: rawnand: marvell: Handle on-die ECC
>       mtd: rawnand: add manufacturer fixup for ONFI parameter page
>       mtd: rawnand: add defines for ONFI version bits
>       mtd: rawnand: micron: add fixup for ONFI revision
>       mtd: rawnand: micron: support 8/512 on-die ECC
>       mtd: rawnand: micron: allow forced on-die ECC
> 
> Colin Ian King (1):
>       mtd: rawnand: gpmi: remove redundant variable payload_virt
> 
> Daniel Mack (3):
>       mtd: rawnand: marvell: add suspend and resume hooks
>       mtd: rawnand: marvell: remove bogus comment in marvell_nfc_select_chip()
>       mtd: rawnand: marvell: set reg_clk to NULL if it can't be obtained
> 
> Fabio Estevam (2):
>       mtd: rawnand: gpmi: Switch to SPDX identifier
>       mtd: rawnand: mxc: Switch to SPDX identifier
> 
> Frieder Schrempf (1):
>       mtd: spinand: Add initial support for Winbond W25M02GV
> 
> Martin Blumenstingl (1):
>       mtd: rawnand: hynix: fix decoding the OOB size on H27UCG8T2BTR
> 
> Martin Kaiser (1):
>       mtd: rawnand: mxc: remove __init qualifier from mxcnd_probe_dt
> 
> Masahiro Yamada (4):
>       mtd: rawnand: denali_dt: use dev as a shorthand of &pdev->dev
>       dt-binding: mtd: denali_dt: document clock property
>       mtd: rawnand: denali_dt: add more clocks based on IP datasheet
>       mtd: rawnand: denali: optimize timing parameters for data interface
> 
> Miquel Raynal (48):
>       mtd: spinand: macronix: Add support for MX35LF2GE4AB
>       mtd: rawnand: docg4: fix the probe function error path
>       mtd: rawnand: fix indentation in Kconfig
>       mtd: rawnand: add default values for dynamic timings
>       mtd: rawnand: make subop helpers return unsigned values
>       mtd: rawnand: better name for the controller structure
>       mtd: rawnand: add hooks that may be called during nand_scan()
>       mtd: rawnand: davinci: convert driver to nand_scan()
>       mtd: rawnand: denali: convert to nand_scan()
>       mtd: rawnand: fsl_elbc: return meaningful values
>       mtd: rawnand: fsl_elbc: convert driver to nand_scan()
>       mtd: rawnand: fsl_ifc: convert driver to nand_scan()
>       mtd: rawnand: fsmc: convert driver to nand_scan()
>       mtd: rawnand: gpmi: convert driver to nand_scan()
>       mtd: rawnand: hisi504: convert driver to nand_scan()
>       mtd: rawnand: jz4780: convert driver to nand_scan()
>       mtd: rawnand: lpc32xx_slc: convert driver to nand_scan()
>       mtd: rawnand: marvell: convert driver to nand_scan()
>       mtd: rawnand: mtk: convert driver to nand_scan()
>       mtd: rawnand: mxc: convert driver to nand_scan()
>       mtd: rawnand: nandsim: convert driver to nand_scan()
>       mtd: rawnand: s3c2410: convert driver to nand_scan()
>       mtd: rawnand: sh_flctl: convert driver to nand_scan()
>       mtd: rawnand: sunxi: convert driver to nand_scan()
>       mtd: rawnand: tango: convert driver to nand_scan()
>       mtd: rawnand: txx9ndfmc: rename nand controller internal structure
>       mtd: rawnand: vf610: convert driver to nand_scan()
>       mtd: rawnand: sm_common: fix the probe function error path
>       mtd: rawnand: sm_common: convert driver to nand_scan_with_ids()
>       mtd: rawnand: qcom: convert driver to nand_scan()
>       mtd: rawnand: brcmnand: convert driver to nand_scan()
>       mtd: rawnand: cafe: convert driver to nand_scan()
>       mtd: rawnand: lpc32xx_mlc: convert driver to nand_scan()
>       mtd: rawnand: omap2: convert driver to nand_scan()
>       mtd: rawnand: atmel: clarify NAND addition/removal paths
>       mtd: rawnand: atmel: convert driver to nand_scan()
>       mtd: rawnand: do not execute nand_scan_ident() if maxchips is zero
>       mtd: rawnand: docg4: convert driver to nand_scan()
>       mtd: rawnand: jz4740: fix probe function error path
>       mtd: rawnand: jz4740: group nand_scan_{ident, tail} calls
>       mtd: rawnand: jz4740: convert driver to nand_scan()
>       mtd: rawnand: tegra: convert driver to nand_scan()
>       mtd: rawnand: txx9ndfmc: clarify ECC parameters assignation
>       mtd: rawnand: txx9ndfmc: convert driver to nand_scan()
>       mtd: rawnand: do not export nand_scan_[ident|tail]() anymore
>       mtd: rawnand: allocate model parameter dynamically
>       mtd: rawnand: allocate dynamically ONFI parameters during detection
>       MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support
> 
> Peter Pan (2):
>       mtd: nand: Add core infrastructure to support SPI NANDs
>       mtd: spinand: Add initial support for Micron MT29F2G01ABAGD
> 
> Peter Rosin (1):
>       mtd: rawnand: atmel: add module param to avoid using dma
> 
> Rafał Miłecki (2):
>       mtd: rawnand: use mtd_device_register() where applicable
>       mtd: onenand: use mtd_device_register() where applicable
> 
> Stefan Agner (5):
>       mtd: rawnand: add Reed-Solomon error correction algorithm
>       mtd: rawnand: add an option to specify NAND chip as a boot device
>       dt-bindings: mtd: add tegra NAND controller binding
>       mtd: rawnand: add NVIDIA Tegra NAND Flash controller driver
>       mtd: rawnand: tegra: check bounds of die_nr properly
> 
>  .../devicetree/bindings/mtd/denali-nand.txt        |    5 +
>  Documentation/devicetree/bindings/mtd/nand.txt     |    6 +-
>  .../bindings/mtd/nvidia-tegra20-nand.txt           |   64 +
>  .../devicetree/bindings/mtd/qcom_nandc.txt         |    7 +-
>  Documentation/devicetree/bindings/mtd/spi-nand.txt |    5 +
>  MAINTAINERS                                        |    8 +-
>  arch/arm/mach-pxa/balloon3.c                       |    1 -
>  arch/arm/mach-pxa/em-x270.c                        |    1 -
>  arch/ia64/include/asm/io.h                         |   13 +-
>  arch/mips/jz4740/board-qi_lb60.c                   |    3 +-
>  arch/mips/txx9/generic/setup.c                     |    2 +-
>  arch/mips/txx9/generic/setup_tx4938.c              |    2 +-
>  arch/mips/txx9/generic/setup_tx4939.c              |    2 +-
>  arch/sparc/include/asm/io_64.h                     |   19 +-
>  drivers/bcma/Kconfig                               |    3 +-
>  drivers/memory/Kconfig                             |    6 +-
>  drivers/mtd/nand/Kconfig                           |    1 +
>  drivers/mtd/nand/Makefile                          |    1 +
>  drivers/mtd/nand/onenand/generic.c                 |    5 +-
>  drivers/mtd/nand/onenand/samsung.c                 |    5 +-
>  drivers/mtd/nand/raw/Kconfig                       |  152 ++-
>  drivers/mtd/nand/raw/Makefile                      |    1 +
>  drivers/mtd/nand/raw/atmel/nand-controller.c       |  175 ++-
>  drivers/mtd/nand/raw/au1550nd.c                    |    1 -
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c           |   67 +-
>  drivers/mtd/nand/raw/cafe_nand.c                   |  143 ++-
>  drivers/mtd/nand/raw/cmx270_nand.c                 |    4 +-
>  drivers/mtd/nand/raw/cs553x_nand.c                 |    3 +-
>  drivers/mtd/nand/raw/davinci_nand.c                |  231 ++--
>  drivers/mtd/nand/raw/denali.c                      |  216 ++--
>  drivers/mtd/nand/raw/denali.h                      |    1 +
>  drivers/mtd/nand/raw/denali_dt.c                   |   72 +-
>  drivers/mtd/nand/raw/denali_pci.c                  |    1 +
>  drivers/mtd/nand/raw/diskonchip.c                  |    4 +-
>  drivers/mtd/nand/raw/docg4.c                       |   89 +-
>  drivers/mtd/nand/raw/fsl_elbc_nand.c               |   25 +-
>  drivers/mtd/nand/raw/fsl_ifc_nand.c                |   25 +-
>  drivers/mtd/nand/raw/fsmc_nand.c                   |  183 +--
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c          |   15 +-
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c         |   76 +-
>  drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h         |   11 +-
>  drivers/mtd/nand/raw/hisi504_nand.c                |   78 +-
>  drivers/mtd/nand/raw/jz4740_nand.c                 |   51 +-
>  drivers/mtd/nand/raw/jz4780_nand.c                 |   41 +-
>  drivers/mtd/nand/raw/lpc32xx_mlc.c                 |   61 +-
>  drivers/mtd/nand/raw/lpc32xx_slc.c                 |   77 +-
>  drivers/mtd/nand/raw/marvell_nand.c                |  302 +++--
>  drivers/mtd/nand/raw/mtk_nand.c                    |   79 +-
>  drivers/mtd/nand/raw/mxc_nand.c                    |  157 ++-
>  drivers/mtd/nand/raw/nand_base.c                   |  343 ++++--
>  drivers/mtd/nand/raw/nand_bbt.c                    |   10 +-
>  drivers/mtd/nand/raw/nand_hynix.c                  |   23 +
>  drivers/mtd/nand/raw/nand_micron.c                 |  351 +++++-
>  drivers/mtd/nand/raw/nand_timings.c                |   32 +-
>  drivers/mtd/nand/raw/nandsim.c                     |   84 +-
>  drivers/mtd/nand/raw/ndfc.c                        |    4 +-
>  drivers/mtd/nand/raw/omap2.c                       |  533 +++++----
>  drivers/mtd/nand/raw/orion_nand.c                  |    9 +-
>  drivers/mtd/nand/raw/oxnas_nand.c                  |    4 +-
>  drivers/mtd/nand/raw/plat_nand.c                   |    2 -
>  drivers/mtd/nand/raw/qcom_nandc.c                  |  595 ++++++----
>  drivers/mtd/nand/raw/s3c2410.c                     |   52 +-
>  drivers/mtd/nand/raw/sh_flctl.c                    |   36 +-
>  drivers/mtd/nand/raw/sharpsl.c                     |    5 +-
>  drivers/mtd/nand/raw/sm_common.c                   |   39 +-
>  drivers/mtd/nand/raw/sunxi_nand.c                  |   55 +-
>  drivers/mtd/nand/raw/tango_nand.c                  |   44 +-
>  drivers/mtd/nand/raw/tegra_nand.c                  | 1246 ++++++++++++++++++++
>  drivers/mtd/nand/raw/txx9ndfmc.c                   |   42 +-
>  drivers/mtd/nand/raw/vf610_nfc.c                   |  127 +-
>  drivers/mtd/nand/spi/Kconfig                       |    7 +
>  drivers/mtd/nand/spi/Makefile                      |    3 +
>  drivers/mtd/nand/spi/core.c                        | 1155 ++++++++++++++++++
>  drivers/mtd/nand/spi/macronix.c                    |  144 +++
>  drivers/mtd/nand/spi/micron.c                      |  133 +++
>  drivers/mtd/nand/spi/winbond.c                     |  141 +++
>  include/linux/mtd/rawnand.h                        |  126 +-
>  include/linux/mtd/spinand.h                        |  421 +++++++
>  .../linux/platform_data/jz4740}/jz4740_nand.h      |    4 +-
>  include/linux/platform_data/mtd-orion_nand.h       |    1 -
>  .../linux/platform_data}/txx9/ndfmc.h              |    6 +-
>  include/linux/spi/spi-mem.h                        |    4 +-
>  82 files changed, 6200 insertions(+), 2081 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/spi-nand.txt
>  create mode 100644 drivers/mtd/nand/raw/tegra_nand.c
>  create mode 100644 drivers/mtd/nand/spi/Kconfig
>  create mode 100644 drivers/mtd/nand/spi/Makefile
>  create mode 100644 drivers/mtd/nand/spi/core.c
>  create mode 100644 drivers/mtd/nand/spi/macronix.c
>  create mode 100644 drivers/mtd/nand/spi/micron.c
>  create mode 100644 drivers/mtd/nand/spi/winbond.c
>  create mode 100644 include/linux/mtd/spinand.h
>  rename {arch/mips/include/asm/mach-jz4740 => include/linux/platform_data/jz4740}/jz4740_nand.h (91%)
>  rename {arch/mips/include/asm => include/linux/platform_data}/txx9/ndfmc.h (91%)
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/