[PULL v2] mtd: nand: changes for 4.12
Boris Brezillon
boris.brezillon at free-electrons.com
Sat Apr 15 00:20:58 PDT 2017
Hi Brian,
No changes from my v1 except the fix in the new Atmel NAND controller
driver (bug reported by Alexandre).
As you can see, the PR is pretty big compared to 4.11, and it's mainly
due to the Denali driver rework/cleanup (which I'd like to thank
Masahiro for), the addition of the per-vendor initialization
infrastructure and the complete rewrite of the Atmel driver.
The rest of the commits are just simple fixes/improvements to existing
drivers or to the core.
Let me know if you see any problem.
Thanks,
Boris
The following changes since commit c1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201:
Linux 4.11-rc1 (2017-03-05 12:59:56 -0800)
are available in the git repository at:
git at github.com:linux-nand/linux.git tags/nand/for-4.12
for you to fetch changes up to 62f6e49c2bccdfc73382ec65f001558975605486:
mtd: nand: brcmnand: Check flash #WP pin status before nand erase/program (2017-04-15 09:12:27 +0200)
----------------------------------------------------------------
This pull request contains:
- some minor fixes/improvements on existing drivers (fsmc, gpio, ifc,
davinci, brcmnand, omap)
- a huge cleanup/rework of the denali driver accompanied with core
fixes/improvements to simplify the driver code
- a complete rewrite of the atmel driver to support new DT bindings
make future evolution easier
- the addition of per-vendor detection/initialization steps to avoid
extending the nand_ids table with more extended-id entries
----------------------------------------------------------------
Alison Wang (2):
memory: ifc: Update dependency of IFC for LS1021A
mtd: nand: Update dependency of IFC for LS1021A
Boris Brezillon (20):
mtd: nand: Get rid of the mtd parameter in all auto-detection functions
mtd: nand: Store nand ID in struct nand_chip
mtd: nand: Get rid of busw parameter
mtd: nand: Rename nand_get_flash_type() into nand_detect()
mtd: nand: Rename the nand_manufacturers struct
mtd: nand: Kill the MTD_NAND_IDS Kconfig option
mtd: nand: Do not expose the NAND manufacturer table directly
mtd: nand: Add manufacturer specific initialization/detection steps
mtd: nand: Move Samsung specific init/detection logic in nand_samsung.c
mtd: nand: Move Hynix specific init/detection logic in nand_hynix.c
mtd: nand: Move Toshiba specific init/detection logic in nand_toshiba.c
mtd: nand: Move Micron specific init logic in nand_micron.c
mtd: nand: Move AMD/Spansion specific init/detection logic in nand_amd.c
mtd: nand: Move Macronix specific initialization in nand_macronix.c
mtd: nand: hynix: Rework NAND ID decoding to extract more information
mtd: nand: hynix: Add read-retry support for 1x nm MLC NANDs
mtd: nand: tango: Enforce DMA direction type
mtd: nand: Cleanup/rework the atmel_nand driver
mtd: nand: atmel: Document the new DT bindings
mtd: nand: Remove unused chip->write_page() hook
Christophe Jaillet (1):
mtd: nand: NULL terminate a of_device_id table
Christophe Leroy (1):
mtd: nand: gpio: make nCE GPIO optional
Colin Ian King (1):
mtd: nand: nandsim: fix spelling mistake: "weakpagess" -> "weakpages"
Dan Carpenter (2):
mtd: nand: hynix: Fix an error code in init
mtd: nand: Fix a couple error codes
Hans de Goede (1):
mtd: nand: samsung: Retrieve ECC requirements from extended ID
Kamal Dasu (1):
mtd: nand: brcmnand: Check flash #WP pin status before nand erase/program
Masahiro Yamada (31):
mtd: nand: allow to set only one of ECC size and ECC strength from DT
mtd: nand: use read_oob() instead of cmdfunc() for bad block check
mtd: nand: denali: remove unused CONFIG option and macros
mtd: nand: denali: remove redundant define of BANK(x)
mtd: nand: denali: remove more unused struct members
mtd: nand: denali: fix comment of denali_nand_info::flash_mem
mtd: nand: denali: consolidate INTR_STATUS__* and INTR_EN__* macros
mtd: nand: denali: introduce capability flag
mtd: nand: denali: use int where no reason to use fixed width variable
mtd: nand: do not check R/B# for CMD_READID in nand_command(_lp)
mtd: nand: do not check R/B# for CMD_SET_FEATURES in nand_command(_lp)
mtd: nand: denali: use nand_chip to hold frequently accessed data
mtd: nand: denali: call nand_set_flash_node() to set DT node
mtd: nand: denali: move multi device fixup code to a helper function
mtd: nand: denali: simplify multi device fixup code
mtd: nand: denali: set DEVICES_CONNECTED 1 if not set
mtd: nand: denali: remove meaningless writes to read-only registers
mtd: nand: denali: remove unnecessary writes to ECC_CORRECTION
mtd: nand: relax ecc.read_page() return value for uncorrectable ECC
mtd: nand: denali: allow to override mtd->name from label DT property
mtd: nand: denali: remove meaningless pipeline read-ahead operation
mtd: nand: denali: fix bitflips calculation in handle_ecc()
mtd: nand: denali: fix erased page checking
mtd: nand: denali: support HW_ECC_FIXUP capability
mtd: nand: denali_dt: enable HW_ECC_FIXUP for Altera SOCFPGA variant
mtd: nand: denali: support 64bit capable DMA engine
mtd: nand: denali_dt: remove dma-mask DT property
mtd: nand: denali_dt: use pdev instead of ofdev for platform_device
mtd: nand: denali: allow to override revision number
mtd: nand: allocate aligned buffers if NAND_OWN_BUFFERS is unset
mtd: nand: allow drivers to request minimum alignment for passed buffer
Philipp Zabel (1):
mtd: nand: sunxi: simplify optional reset handling
Roger Quadros (1):
mtd: nand: omap2: Fix partition creation via cmdline mtdparts
Sekhar Nori (1):
mtd: nand: davinci: add comment on NAND subpage write status on keystone
Simon Baatz (2):
mtd: nand: orion: fix clk handling
mtd: nand: orion: improve handling of optional clock
Thomas Petazzoni (11):
mtd: nand: fsmc: fix NAND width handling
mtd: nand: fsmc: move fsmc_nand_data definition
mtd: nand: fsmc: remove ->select_bank() from fsmc_nand_platform_data
mtd: nand: fsmc: remove fsmc_select_chip()
mtd: nand: fmsc: kill {read, write}_dma_priv from fsmc_nand_platform_data
mtd: nand: fsmc: kill {nr_, }partitions structure fields
mtd: nand: fsmc: remove duplicate nand_set_flash_node()
mtd: nand: fsmc: finally remove fsmc_nand_platform_data
mtd: nand: fsmc: use devm_clk_get()
mtd: nand: fsmc: remove unused definitions
mtd: nand: fsmc: remove CONFIG_OF conditional
Documentation/devicetree/bindings/mtd/atmel-nand.txt | 107 +++++++-
Documentation/devicetree/bindings/mtd/denali-nand.txt | 7 +-
MAINTAINERS | 2 +-
arch/cris/arch-v32/drivers/Kconfig | 1 -
drivers/memory/Kconfig | 2 +-
drivers/mtd/nand/Kconfig | 23 +-
drivers/mtd/nand/Makefile | 11 +-
drivers/mtd/nand/atmel/Makefile | 4 +
drivers/mtd/nand/atmel/nand-controller.c | 2198 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/mtd/nand/atmel/pmecc.c | 1020 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/mtd/nand/atmel/pmecc.h | 73 ++++++
drivers/mtd/nand/atmel_nand.c | 2479 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
drivers/mtd/nand/atmel_nand_ecc.h | 163 ------------
drivers/mtd/nand/atmel_nand_nfc.h | 103 --------
drivers/mtd/nand/brcmnand/brcmnand.c | 61 ++++-
drivers/mtd/nand/davinci_nand.c | 11 +
drivers/mtd/nand/denali.c | 567 ++++++++++++++++++++++------------------
drivers/mtd/nand/denali.h | 192 +++-----------
drivers/mtd/nand/denali_dt.c | 74 +++---
drivers/mtd/nand/fsmc_nand.c | 236 +++++------------
drivers/mtd/nand/gpio.c | 18 +-
drivers/mtd/nand/nand_amd.c | 51 ++++
drivers/mtd/nand/nand_base.c | 518 ++++++++++++++++---------------------
drivers/mtd/nand/nand_hynix.c | 631 +++++++++++++++++++++++++++++++++++++++++++++
drivers/mtd/nand/nand_ids.c | 39 ++-
drivers/mtd/nand/nand_macronix.c | 30 +++
drivers/mtd/nand/nand_micron.c | 86 +++++++
drivers/mtd/nand/nand_samsung.c | 112 ++++++++
drivers/mtd/nand/nand_toshiba.c | 51 ++++
drivers/mtd/nand/nandsim.c | 2 +-
drivers/mtd/nand/omap2.c | 9 +
drivers/mtd/nand/orion_nand.c | 48 ++--
drivers/mtd/nand/sunxi_nand.c | 20 +-
drivers/mtd/nand/tango_nand.c | 8 +-
include/linux/mtd/nand.h | 96 +++++--
35 files changed, 5274 insertions(+), 3779 deletions(-)
create mode 100644 drivers/mtd/nand/atmel/Makefile
create mode 100644 drivers/mtd/nand/atmel/nand-controller.c
create mode 100644 drivers/mtd/nand/atmel/pmecc.c
create mode 100644 drivers/mtd/nand/atmel/pmecc.h
delete mode 100644 drivers/mtd/nand/atmel_nand.c
delete mode 100644 drivers/mtd/nand/atmel_nand_ecc.h
delete mode 100644 drivers/mtd/nand/atmel_nand_nfc.h
create mode 100644 drivers/mtd/nand/nand_amd.c
create mode 100644 drivers/mtd/nand/nand_hynix.c
create mode 100644 drivers/mtd/nand/nand_macronix.c
create mode 100644 drivers/mtd/nand/nand_micron.c
create mode 100644 drivers/mtd/nand/nand_samsung.c
create mode 100644 drivers/mtd/nand/nand_toshiba.c
More information about the linux-mtd
mailing list