linux/drivers/mtd/nand
Miquel Raynal 17fa804418 mtd: nand: provide valid ->data_interface during NAND detection
Right now, the chip->data_interface field is populated in
nand_scan_tail(), so after the whole NAND detection has taken place.
This is fine because these timings are not yet used by the core so
early in the probe process, but the situation is about to change with
the introduction of ->exec_op().

Also, by convention, nand_scan_ident() is not supposed to allocate
resources, only nand_scan_tail() can, so this prevent us from
allocating and initializing the data_interface object in
nand_scan_ident().

In order to solve this problem, directly embed a data_interface object
in nand_chip so that we don't have to allocate it, and initialize it to
ONFI SDR mode 0 at the very beginning of nand_scan_ident().

Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2017-12-14 13:34:18 +01:00
..
atmel mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
bcm47xxnflash License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
brcmnand mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
gpmi-nand mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
ams-delta.c mtd: constify mtd_partition 2017-11-06 23:26:01 +01:00
au1550nd.c mtd: nand: introduce NAND_ROW_ADDR_3 flag 2017-09-18 14:55:52 +02:00
bf5xx_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
cafe_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
cmx270_nand.c mtd: constify mtd_partition 2017-11-06 23:26:01 +01:00
cs553x_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
davinci_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
denali_dt.c mtd: nand: denali: clean up comments 2017-09-22 09:04:32 +02:00
denali_pci.c mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2017-11-30 22:32:48 +01:00
denali.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
denali.h mtd: nand: remove unnecessary extern from driver headers 2017-11-30 22:32:49 +01:00
diskonchip.c mtd: nand: provide several helpers to do common NAND operations 2017-12-14 13:34:12 +01:00
docg4.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
fsl_elbc_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
fsl_ifc_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
fsl_upm.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
fsmc_nand.c mtd: nand: provide several helpers to do common NAND operations 2017-12-14 13:34:12 +01:00
gpio.c mtd: nand: gpio: Convert to use GPIO descriptors 2017-10-07 11:27:48 +02:00
hisi504_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
jz4740_nand.c mtd: nand: provide several helpers to do common NAND operations 2017-12-14 13:34:12 +01:00
jz4780_bch.c mtd: nand: jz4780: Update MODULE_AUTHOR email address 2016-07-11 08:40:19 +02:00
jz4780_bch.h mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs 2016-01-07 09:35:11 -08:00
jz4780_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
Kconfig mtd: nand: gpmi-nand: Remove wrong Kconfig help text 2017-11-30 22:32:19 +01:00
lpc32xx_mlc.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
lpc32xx_slc.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
Makefile This pull request contains the following core changes: 2017-11-22 20:46:06 -10:00
mpc5121_nfc.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
mtk_ecc.c mtd: nand: mtk: fix infinite ECC decode IRQ issue 2017-10-30 09:35:04 +01:00
mtk_ecc.h mtd: nand: mediatek: add support for different MTK NAND FLASH Controller IP 2017-06-01 10:09:37 +02:00
mtk_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
mxc_nand.c mtd: nand: mxc: use dev_dbg to print debug messages 2017-10-16 17:57:08 +02:00
nand_amd.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_base.c mtd: nand: provide valid ->data_interface during NAND detection 2017-12-14 13:34:18 +01:00
nand_bbt.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_bch.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_ecc.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_hynix.c mtd: nand: provide several helpers to do common NAND operations 2017-12-14 13:34:12 +01:00
nand_ids.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_macronix.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_micron.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
nand_samsung.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nand_timings.c mtd: nand: provide valid ->data_interface during NAND detection 2017-12-14 13:34:18 +01:00
nand_toshiba.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nandsim.c mtd: Avoid probe failures when mtd->dbg.dfs_dir is invalid 2017-11-13 22:07:31 +01:00
ndfc.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
nuc900_nand.c mtd: nand: introduce NAND_ROW_ADDR_3 flag 2017-09-18 14:55:52 +02:00
omap2.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
omap_elm.c mtd: omap_elm: print interrupt resource using %pr 2015-12-18 10:16:17 -08:00
orion_nand.c Merge branch 'nand/rename-header-file' of git://git.infradead.org/l2-mtd into nand/next 2017-08-23 17:00:12 +02:00
oxnas_nand.c Merge branch 'nand/rename-header-file' of git://git.infradead.org/l2-mtd into nand/next 2017-08-23 17:00:12 +02:00
pasemi_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
plat_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
pxa3xx_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
qcom_nandc.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
r852.c mtd: nand: provide several helpers to do common NAND operations 2017-12-14 13:34:12 +01:00
r852.h mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
s3c2410.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
sh_flctl.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
sharpsl.c Merge branch 'nand/rename-header-file' of git://git.infradead.org/l2-mtd into nand/next 2017-08-23 17:00:12 +02:00
sm_common.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
sm_common.h mtd: nand: remove unnecessary extern from driver headers 2017-11-30 22:32:49 +01:00
socrates_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
sunxi_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
tango_nand.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
tmio_nand.c mtd: nand: provide several helpers to do common NAND operations 2017-12-14 13:34:12 +01:00
txx9ndfmc.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00
vf610_nfc.c mtd: nand: force drivers to explicitly send READ/PROG commands 2017-12-14 13:34:17 +01:00
xway_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-08-13 10:11:49 +02:00