[GIT PULL] mtd: nand: Changes for 5.8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Richard,

This is the NAND PR for 5.8.

I just updated it this morning to fix an issue reported by a build robot
in a !COMPILE_TEST driver due to some recent cleanup.

Thanks,
Miquèl


The following changes since commit 6a8b55ed4056ea5559ebe4f6a4b247f627870d4c:

  Linux 5.7-rc3 (2020-04-26 13:51:02 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/nand/for-5.8

for you to fetch changes up to 86f2b225adf4ecd2edfdc8541a7342645556ac3b:

  mtd: rawnand: Add an invalid ECC mode to discriminate with valid ones (2020-05-31 10:53:41 +0200)

----------------------------------------------------------------
Raw NAND core changes:
* Stop using nand_release(), patched all drivers.
* Give more information about the ECC weakness when not matching the
  chip's requirement.
* MAINTAINERS updates.
* Support emulated SLC mode on MLC NANDs.
* Support "constrained" controllers, adapt the core and ONFI/JEDEC
  table parsing and Micron's code.
* Take check_only into account.
* Add an invalid ECC mode to discriminate with valid ones.
* Return an enum from of_get_nand_ecc_algo().
* Drop OOB_FIRST placement scheme.
* Introduce nand_extract_bits().
* Ensure a consistent bitflips numbering.
* BCH lib:
  - Allow easy bit swapping.
  - Rework a little bit the exported function names.
* Fix nand_gpio_waitrdy().
* Propage CS selection to sub operations.
* Add a NAND_NO_BBM_QUIRK flag.
* Give the possibility to verify a read operation is supported.
* Add a helper to check supported operations.
* Avoid indirect access to ->data_buf().
* Rename the use_bufpoi variables.
* Fix comments about the use of bufpoi.
* Rename a NAND chip option.
* Reorder the nand_chip->options flags.
* Translate obscure bitfields into readable macros.
* Timings:
  - Fix default values.
  - Add mode information to the timings structure.

Raw NAND controller driver changes:
* Fixed many error paths.
* Arasan
  - New driver
* Au1550nd:
  - Various cleanups
  - Migration to ->exec_op()
* brcmnand:
  - Misc cleanup.
  - Support v2.1-v2.2 controllers.
  - Remove unused including <linux/version.h>.
  - Correctly verify erased pages.
  - Fix Hamming OOB layout.
* Cadence
  - Make cadence_nand_attach_chip static.
* Cafe:
  - Set the NAND_NO_BBM_QUIRK flag
* cmx270:
  - Remove this controller driver.
* cs553x:
  - Misc cleanup
  - Migration to ->exec_op()
* Davinci:
  - Misc cleanup.
  - Migration to ->exec_op()
* Denali:
  - Add more delays before latching incoming data
* Diskonchip:
   - Misc cleanup
   - Migration to ->exec_op()
* Fsmc:
  - Change to non-atomic bit operations.
* GPMI:
  - Use nand_extract_bits()
  - Fix runtime PM imbalance.
* Ingenic:
  - Migration to exec_op()
  - Fix the RB gpio active-high property on qi, lb60
  - Make qi_lb60_ooblayout_ops static.
* Marvell:
   - Misc cleanup and small fixes
* Nandsim:
  - Fix the error paths, driver wide.
* Omap_elm:
  - Fix runtime PM imbalance.
* STM32_FMC2:
  - Misc cleanups (error cases, comments, timeout valus, cosmetic
    changes).

----------------------------------------------------------------
Boris Brezillon (34):
      mtd: rawnand: Take check_only into account
      mtd: rawnand: au1550nd: Stop using IO_ADDR_{R, W} in au_{read, write}_buf[16]()
      mtd: rawnand: au1550nd: Implement exec_op()
      mtd: rawnand: au1550nd: Get rid of the legacy interface implementation
      mtd: rawnand: au1550nd: Patch the read/write buf helper prototypes
      mtd: rawnand: cs553x: Declare controllers instead of NAND chips
      mtd: rawnand: cs553x: Stop using chip->legacy.IO_ADDR_{R, W}
      mtd: rawnand: cs553x: Implement exec_op()
      mtd: rawnand: cs553x: Get rid of the legacy interface implementation
      mtd: rawnand: toshiba: Add a specific init for TC58TEG5DCLTA00
      mtd: rawnand: Define the "distance 3" MLC pairing scheme
      mtd: rawnand: toshiba: Set the pairing scheme for TC58TEG5DCLTA00
      mtd: Add support for emulated SLC mode on MLC NANDs
      dt-bindings: mtd: partition: Document the slc-mode property
      mtd: partitions: ofpart: Parse the slc-mode property
      mtd: cmdlinepart: Add an slc option to use SLC mode on a part
      ubi: Relax the 'no MLC' rule and allow MLCs operating in SLC mode
      mtd: rawnand: Add a NAND_NO_BBM_QUIRK flag
      mtd: rawnand: cafe: Set the NAND_NO_BBM_QUIRK flag
      mtd: rawnand: diskonchip: Set the NAND_NO_BBM_QUIRK flag
      mtd: rawnand: diskonchip: Make sure doc2001plus_readbuf() works for single byte reads
      mtd: rawnand: diskonchip: Get rid of doc2000_readbuf_dword()
      mtd: rawnand: diskonchip: Inherit from nand_controller
      mtd: rawnand: diskonchip: Implement exec_op()
      mtd: rawnand: diskonchip: Get rid of the legacy interface implementation
      mtd: rawnand: Propage CS selection to sub operations
      mtd: rawnand: davinci: Inherit from nand_controller
      mtd: rawnand: davinci: Stop using nand_chip.legacy.IO_ADDR_{R, W}
      mtd: rawnand: davinci: Implement exec_op()
      mtd: rawnand: davinci: Get rid of the legacy interface implementation
      mtd: rawnand: Fix nand_gpio_waitrdy()
      mtd: rawnand: Remove the cmx270 NAND controller driver
      mtd: rawnand: ingenic: Fix the RB gpio active-high property on qi, lb60
      mtd: rawnand: ingenic: Convert the driver to exec_op()

Christophe Kerello (5):
      mtd: rawnand: stm32_fmc2: manage all errors cases at probe time
      mtd: rawnand: stm32_fmc2: remove useless inline comments
      mtd: rawnand: stm32_fmc2: use FMC2_TIMEOUT_MS for timeouts
      mtd: rawnand: stm32_fmc2: cosmetic change to use nfc instead of fmc2 where relevant
      mtd: rawnand: stm32_fmc2: use FIELD_PREP/FIELD_GET macros

Dinghao Liu (3):
      mtd: rawnand: gpmi: Fix runtime PM imbalance on error
      mtd: rawnand: gpmi: Fix runtime PM imbalance in gpmi_nand_probe
      mtd: rawnand: omap_elm: Fix runtime PM imbalance on error

Fenghua Yu (1):
      mtd: rawnand: fsmc: Change to non-atomic bit operations

Masahiro Yamada (1):
      mtd: rawnand: denali: add more delays before latching incoming data

Miquel Raynal (124):
      mtd: rawnand: Give more information about the ECC weakness
      mtd: rawnand: marvell: Fix the condition on a return code
      mtd: rawnand: marvell: Use devm_platform_ioremap_res()
      mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
      mtd: rawnand: marvell: Fix probe error path
      mtd: rawnand: marvell: Rename a function to clarify
      mtd: rawnand: marvell: Rename the ->correct() function
      mtd: rawnand: timings: Add mode information to the timings structure
      mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
      mtd: rawnand: onfi: Fix redundancy detection check
      mtd: rawnand: onfi: Use intermediate variables to improve readability
      mtd: rawnand: onfi: Define the number of parameter pages
      mtd: rawnand: onfi: Avoid doing a copy of the parameter page
      mtd: rawnand: onfi: Drop a useless parameter page read
      mtd: rawnand: jedec: Define the number of parameter pages
      mtd: rawnand: jedec: Use intermediate variables to improve readability
      mtd: rawnand: Translate obscure bitfields into readable macros
      mtd: rawnand: Reorder the nand_chip->options flags
      mtd: rawnand: Rename a NAND chip option
      mtd: rawnand: Fix comments about the use of bufpoi
      mtd: rawnand: Rename the use_bufpoi variables
      mtd: rawnand: Avoid indirect access to ->data_buf()
      mtd: rawnand: Add a helper to check supported operations
      mtd: rawnand: Give the possibility to verify a read operation is supported
      mtd: rawnand: onfi: Adapt the parameter page read to constraint controllers
      mtd: rawnand: jedec: Adapt the parameter page read to constraint controllers
      mtd: rawnand: Expose monolithic read/write_page_raw() helpers
      mtd: rawnand: Allow controllers to overload soft ECC hooks
      mtd: rawnand: micron: Allow controllers to overload raw accessors
      MAINTAINERS: Remove Piotr Sroka and mark Cadence NFC as orphaned
      MAINTAINERS: Remove Xiaolei Li and mark MTK NFC as orphaned
      mtd: rawnand: micron: Adapt the PAGE READ flow to constraint controllers
      lib/bch: Rework a little bit the exported function names
      lib/bch: Allow easy bit swapping
      mtd: rawnand: Ensure the number of bitflips is consistent
      mtd: rawnand: Add nand_extract_bits()
      MAINTAINERS: Add Arasan NAND controller and bindings
      dt-bindings: mtd: Document ARASAN NAND bindings
      mtd: rawnand: arasan: Add new Arasan NAND controller
      mtd: rawnand: arasan: Support the hardware BCH ECC engine
      mtd: rawnand: ams-delta: Stop using nand_release()
      mtd: rawnand: au1550nd: Stop using nand_release()
      mtd: rawnand: bcm47xx: Stop using nand_release()
      mtd: rawnand: brcmnand: Stop using nand_release()
      mtd: rawnand: cadence: Stop using nand_release()
      mtd: rawnand: cafe: Stop using nand_release()
      mtd: rawnand: cs553x: Stop using nand_release()
      mtd: rawnand: davinci: Stop using nand_release()
      mtd: rawnand: denali: Delete items from the list in the _remove() path
      mtd: rawnand: denali: Stop using nand_release()
      mtd: rawnand: diskonchip: Fix the probe error path
      mtd: rawnand: diskonchip: Stop using nand_release()
      mtd: rawnand: fsl_elbc: Stop using nand_release()
      mtd: rawnand: fsl_ifc: Stop using nand_release()
      mtd: rawnand: fsl_upm: Stop using nand_release()
      mtd: rawnand: fsmc: Stop using nand_release()
      mtd: rawnand: gpio: Stop using nand_release()
      mtd: rawnand: gpmi: Stop using nand_release()
      mtd: rawnand: hisi504: Stop using nand_release()
      mtd: rawnand: ingenic: Fix the probe error path
      mtd: rawnand: ingenic: Stop using nand_release()
      mtd: rawnand: lpc32xx_mlc: Stop using nand_release()
      mtd: rawnand: lpc32xx_slc: Stop using nand_release()
      mtd: rawnand: marvell: Stop using nand_release()
      mtd: rawnand: mpc5121: Stop using nand_release()
      mtd: rawnand: mtk: Fix the probe error path
      mtd: rawnand: mtk: Stop using nand_release()
      mtd: rawnand: mxc: Stop using nand_release()
      mtd: rawnand: mxic: Stop using nand_release()
      mtd: rawnand: ndfc: Stop using nand_release()
      mtd: rawnand: omap2: Stop using nand_release()
      mtd: rawnand: orion: Fix the probe error path
      mtd: rawnand: orion: Stop using nand_release()
      mtd: rawnand: oxnas: Keep track of registered devices
      mtd: rawnand: oxnas: Fix the probe error path
      mtd: rawnand: oxnas: Unregister all devices on error
      mtd: rawnand: oxnas: Release all devices in the _remove() path
      mtd: rawnand: oxnas: Stop using nand_release()
      mtd: rawnand: pasemi: Fix the probe error path
      mtd: rawnand: pasemi: Stop using nand_release()
      mtd: rawnand: plat_nand: Fix the probe error path
      mtd: rawnand: plat_nand: Stop using nand_release()
      mtd: rawnand: qcom: Stop using nand_release()
      mtd: rawnand: r852: Stop using nand_release()
      mtd: rawnand: s3c2410: Stop using nand_release()
      mtd: rawnand: sh_flctl: Stop using nand_release()
      mtd: rawnand: sharpsl: Fix the probe error path
      mtd: rawnand: sharpsl: Stop using nand_release()
      mtd: rawnand: socrates: Fix the probe error path
      mtd: rawnand: socrates: Stop using nand_release()
      mtd: rawnand: stm32_fmc2: Stop using nand_release()
      mtd: rawnand: sunxi: Fix the probe error path
      mtd: rawnand: sunxi: Stop using nand_release()
      mtd: rawnand: tango: Stop using nand_release()
      mtd: rawnand: tmio: Fix the probe error path
      mtd: rawnand: tmio: Stop using nand_release()
      mtd: rawnand: txx9ndfmc: Stop using nand_release()
      mtd: rawnand: vf610: Stop using nand_release()
      mtd: rawnand: xway: Fix the probe error path
      mtd: rawnand: xway: Stop using nand_release()
      mtd: rawnand: gpmi: Use nand_extract_bits()
      mtd: rawnand: nandsim: Consistent use of 'ns' instead of 'dev'
      mtd: rawnand: nandsim: Use octal permissions
      mtd: rawnand: nandsim: Use a consistent ns_ prefix for all functions
      mtd: rawnand: nandsim: Clean error handling
      mtd: rawnand: nandsim: Keep track of the created debugfs entries
      mtd: rawnand: nandsim: Remove debugfs entries at unload time
      mtd: rawnand: nandsim: Fix the two ns_alloc_device() error paths
      mtd: rawnand: nandsim: Free partition names on error in ns_init()
      mtd: rawnand: nandsim: Free the allocated device on error in ns_init()
      mtd: rawnand: nandsim: Free the partition names in ns_free()
      mtd: rawnand: nandsim: Stop using nand_release()
      mtd: rawnand: nandsim: Use an additional label when freeing the nandsim object
      mtd: rawnand: nandsim: Free erase_block_wear on error
      mtd: rawnand: nandsim: Fix the label pointing on nand_cleanup()
      mtd: rawnand: nandsim: Manage lists on error in ns_init_module()
      mtd: rawnand: nandsim: Rename a label in ns_init_module()
      mtd: rawnand: nandsim: Reorganize ns_cleanup_module()
      mtd: rawnand: Stop using nand_release()
      mtd: Fix typo in mtd_ooblayout_set_databytes() description
      mtd: rawnand: Avoid a typedef
      mtd: rawnand: Drop OOB_FIRST placement scheme
      mtd: rawnand: Return an enum from of_get_nand_ecc_algo()
      mtd: rawnand: Add an invalid ECC mode to discriminate with valid ones

YueHaibing (3):
      mtd: rawnand: ingenic: Make qi_lb60_ooblayout_ops static
      mtd: rawnand: cadence: Make cadence_nand_attach_chip static
      mtd: rawnand: brcmnand: Remove unused including <linux/version.h>

Álvaro Fernández Rojas (8):
      mtd: rawnand: brcmnand: fix hamming oob layout
      mtd: rawnand: brcmnand: improve hamming oob layout
      mtd: rawnand: brcmnand: correctly verify erased pages
      mtd: rawnand: brcmnand: rename v4 registers
      mtd: rawnand: brcmnand: fix CS0 layout
      mtd: rawnand: brcmnand: rename page sizes
      dt-bindings: mtd: brcmnand: add v2.1 and v2.2 support
      mtd: rawnand: brcmnand: support v2.1-v2.2 controllers

 Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml |   63 ++++++++
 Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt           |    2 +
 Documentation/devicetree/bindings/mtd/partition.txt               |    3 +
 Documentation/driver-api/mtdnand.rst                              |    6 +-
 MAINTAINERS                                                       |   13 +-
 drivers/mtd/devices/docg3.c                                       |   10 +-
 drivers/mtd/mtdcore.c                                             |  191 +++++++++++++++++++++--
 drivers/mtd/mtdpart.c                                             |   54 ++++---
 drivers/mtd/nand/raw/Kconfig                                      |   12 +-
 drivers/mtd/nand/raw/Makefile                                     |    2 +-
 drivers/mtd/nand/raw/ams-delta.c                                  |    5 +-
 drivers/mtd/nand/raw/arasan-nand-controller.c                     | 1297 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/mtd/nand/raw/atmel/nand-controller.c                      |    2 +-
 drivers/mtd/nand/raw/au1550nd.c                                   |  417 +++++++++++++++++--------------------------------
 drivers/mtd/nand/raw/bcm47xxnflash/main.c                         |    6 +-
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                          |  164 +++++++++++++------
 drivers/mtd/nand/raw/cadence-nand-controller.c                    |   17 +-
 drivers/mtd/nand/raw/cafe_nand.c                                  |   16 +-
 drivers/mtd/nand/raw/cmx270_nand.c                                |  236 ----------------------------
 drivers/mtd/nand/raw/cs553x_nand.c                                |  199 ++++++++++++++++--------
 drivers/mtd/nand/raw/davinci_nand.c                               |  324 +++++++++++++++++++++++---------------
 drivers/mtd/nand/raw/denali.c                                     |   60 +++++--
 drivers/mtd/nand/raw/diskonchip.c                                 |  497 ++++++++++++++++++++++------------------------------------
 drivers/mtd/nand/raw/fsl_elbc_nand.c                              |    7 +-
 drivers/mtd/nand/raw/fsl_ifc_nand.c                               |    7 +-
 drivers/mtd/nand/raw/fsl_upm.c                                    |    9 +-
 drivers/mtd/nand/raw/fsmc_nand.c                                  |   19 ++-
 drivers/mtd/nand/raw/gpio.c                                       |    6 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c                        |  189 +++-------------------
 drivers/mtd/nand/raw/hisi504_nand.c                               |    6 +-
 drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c                   |  170 ++++++++++++--------
 drivers/mtd/nand/raw/internals.h                                  |   12 ++
 drivers/mtd/nand/raw/lpc32xx_mlc.c                                |    7 +-
 drivers/mtd/nand/raw/lpc32xx_slc.c                                |    6 +-
 drivers/mtd/nand/raw/marvell_nand.c                               |   68 ++++----
 drivers/mtd/nand/raw/meson_nand.c                                 |    5 +-
 drivers/mtd/nand/raw/mpc5121_nfc.c                                |    5 +-
 drivers/mtd/nand/raw/mtk_nand.c                                   |   19 ++-
 drivers/mtd/nand/raw/mxc_nand.c                                   |    6 +-
 drivers/mtd/nand/raw/mxic_nand.c                                  |   10 +-
 drivers/mtd/nand/raw/nand_base.c                                  |  445 ++++++++++++++++++++++++++++++++--------------------
 drivers/mtd/nand/raw/nand_bch.c                                   |   10 +-
 drivers/mtd/nand/raw/nand_jedec.c                                 |   30 ++--
 drivers/mtd/nand/raw/nand_legacy.c                                |    8 +-
 drivers/mtd/nand/raw/nand_micron.c                                |   65 ++++++--
 drivers/mtd/nand/raw/nand_onfi.c                                  |   69 ++++----
 drivers/mtd/nand/raw/nand_timings.c                               |   11 +-
 drivers/mtd/nand/raw/nand_toshiba.c                               |   14 ++
 drivers/mtd/nand/raw/nandsim.c                                    |  440 +++++++++++++++++++++++++++++----------------------
 drivers/mtd/nand/raw/ndfc.c                                       |    8 +-
 drivers/mtd/nand/raw/omap2.c                                      |    8 +-
 drivers/mtd/nand/raw/omap_elm.c                                   |    1 +
 drivers/mtd/nand/raw/orion_nand.c                                 |    8 +-
 drivers/mtd/nand/raw/oxnas_nand.c                                 |   33 ++--
 drivers/mtd/nand/raw/pasemi_nand.c                                |    9 +-
 drivers/mtd/nand/raw/plat_nand.c                                  |    8 +-
 drivers/mtd/nand/raw/qcom_nandc.c                                 |   13 +-
 drivers/mtd/nand/raw/r852.c                                       |    6 +-
 drivers/mtd/nand/raw/s3c2410.c                                    |    3 +-
 drivers/mtd/nand/raw/sh_flctl.c                                   |    6 +-
 drivers/mtd/nand/raw/sharpsl.c                                    |   14 +-
 drivers/mtd/nand/raw/socrates_nand.c                              |    8 +-
 drivers/mtd/nand/raw/stm32_fmc2_nand.c                            | 1065 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------
 drivers/mtd/nand/raw/sunxi_nand.c                                 |   16 +-
 drivers/mtd/nand/raw/tango_nand.c                                 |   13 +-
 drivers/mtd/nand/raw/tegra_nand.c                                 |    6 +-
 drivers/mtd/nand/raw/tmio_nand.c                                  |    8 +-
 drivers/mtd/nand/raw/txx9ndfmc.c                                  |    6 +-
 drivers/mtd/nand/raw/vf610_nfc.c                                  |   10 +-
 drivers/mtd/nand/raw/xway_nand.c                                  |    8 +-
 drivers/mtd/parsers/cmdlinepart.c                                 |   12 +-
 drivers/mtd/parsers/ofpart.c                                      |    3 +
 drivers/mtd/ubi/build.c                                           |    5 +-
 include/linux/bch.h                                               |   11 +-
 include/linux/mtd/bbm.h                                           |    2 +-
 include/linux/mtd/mtd.h                                           |    7 +-
 include/linux/mtd/partitions.h                                    |    2 +
 include/linux/mtd/rawnand.h                                       |  133 +++++++++-------
 include/linux/platform_data/mtd-davinci.h                         |    2 +-
 include/linux/platform_data/mtd-nand-s3c2410.h                    |    2 +-
 include/uapi/mtd/mtd-abi.h                                        |    1 +
 lib/bch.c                                                         |  152 ++++++++++++------
 82 files changed, 4275 insertions(+), 2553 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/arasan,nand-controller.yaml
 create mode 100644 drivers/mtd/nand/raw/arasan-nand-controller.c
 delete mode 100644 drivers/mtd/nand/raw/cmx270_nand.c

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux