From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Richard Weinberger <richard@nod.at>
Cc: linux-mtd@lists.infradead.org,
Vignesh Raghavendra <vigneshr@ti.com>,
Frieder Schrempf <frieder.schrempf@kontron.de>,
Tudor Ambarus <Tudor.Ambarus@microchip.com>
Subject: [GIT PULL] mtd: nand: Changes for 5.8
Date: Sun, 31 May 2020 11:18:16 +0200 [thread overview]
Message-ID: <20200531111816.099ed365@xps13> (raw)
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/
next reply other threads:[~2020-05-31 9:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-31 9:18 Miquel Raynal [this message]
2020-06-01 18:42 ` [GIT PULL] mtd: nand: Changes for 5.8 Richard Weinberger
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=20200531111816.099ed365@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=Tudor.Ambarus@microchip.com \
--cc=frieder.schrempf@kontron.de \
--cc=linux-mtd@lists.infradead.org \
--cc=richard@nod.at \
--cc=vigneshr@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox