From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Boris Brezillon <Boris.Brezillon@bootlin.com>,
Richard Weinberger <richard.weinberger@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>,
Brian Norris <computersforpeace@gmail.com>,
Marek Vasut <marek.vasut@gmail.com>,
linux-mtd@lists.infradead.org
Subject: mtd: nand: Changes for 4.19
Date: Wed, 1 Aug 2018 12:04:29 +0200 [thread overview]
Message-ID: <20180801120429.62dfdb11@xps13> (raw)
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%)
next reply other threads:[~2018-08-01 10:04 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-01 10:04 Miquel Raynal [this message]
2018-08-11 10:21 ` mtd: nand: Changes for 4.19 Boris Brezillon
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=20180801120429.62dfdb11@xps13 \
--to=miquel.raynal@bootlin.com \
--cc=Boris.Brezillon@bootlin.com \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=richard.weinberger@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.