linux-stable/drivers/mtd/nand
Fabio Estevam 1b8d107085 mtd: rawnand: mxc: Move the ECC engine initialization to the right place
No ECC initialization should happen during the host controller probe.

In fact, we need the probe function to call nand_scan() in order to:

- identify the device, its capabilities and constraints (nand_scan_ident())
- configure the ECC engine accordingly (->attach_chip())
- scan its content and prepare the core (nand_scan_tail())

Moving these lines to mxcnd_attach_chip() fixes a regression caused by
a previous commit supposed to clarify these steps.

When moving the ECC initialization from probe() to attach(), get rid
of the pdata usage to determine the engine type and let the core decide
instead.

Tested on a imx27-pdk board.

Fixes: d7157ff49a ("mtd: rawnand: Use the ECC framework user input parsing bits")
Reported-by: Fabio Estevam <festevam@gmail.com>
Co-developed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20201016213613.1450-1-festevam@gmail.com
2020-10-26 18:44:14 +01:00
..
onenand mtd: onenand: simplify the return expression of onenand_transfer_auto_oob 2020-09-30 16:44:17 +02:00
raw mtd: rawnand: mxc: Move the ECC engine initialization to the right place 2020-10-26 18:44:14 +01:00
spi mtd: spinand: gigadevice: Add support for GD5F4GQ4xC 2020-09-30 16:44:16 +02:00
bbt.c mtd: nand: Fix memory allocation in nanddev_bbt_init() 2018-11-28 15:41:50 +01:00
core.c mtd: nand: Add max_bad_eraseblocks_per_lun info to memorg 2019-04-08 10:21:08 +02:00
ecc.c mtd: nand: Introduce the ECC engine framework 2020-09-02 09:28:15 +02:00
Kconfig mtd: nand: Introduce the ECC engine framework 2020-09-02 09:28:15 +02:00
Makefile mtd: nand: Introduce the ECC engine framework 2020-09-02 09:28:15 +02:00