Hi Alex, Alex Nemirovsky <[email protected]> wrote on Wed, 3 Jun 2020 00:25:53 +0000:
> > On Jun 2, 2020, at 12:20 AM, Miquel Raynal <[email protected]> > > wrote: > > > > Hi Alex, > > > > Alex Nemirovsky <[email protected]> wrote on Mon, 1 > > Jun 2020 14:26:49 -0700: > > > >> From: Jason Li <[email protected]> > >> > >> Supports all CAxxxx SoCs which support a parallel nand controller. > >> It should be noted that some CAxxxx Soc also support an separate > >> SPI serial NAND controller. > >> > >> This driver only supports the parallel NAND controller. A different > >> driver supports the SPI NAND interface controller. > >> > >> Signed-off-by: Jason Li <[email protected]> > >> Signed-off-by: Alex Nemirovsky <[email protected]> > >> > >> CC: Miquel Raynal <[email protected]> > >> CC: Simon Glass <[email protected]> > >> CC: Tom Rini <[email protected]> > >> --- > >> > >> Changes in v3: > >> - Include udelay.h to avoid implicit declaration of udelay() > >> > >> Changes in v2: > >> - Cleanup code style to pass checkpatch.pl > >> > >> MAINTAINERS | 2 + > >> drivers/mtd/nand/raw/Kconfig | 31 + > >> drivers/mtd/nand/raw/Makefile | 1 + > >> drivers/mtd/nand/raw/ca_nand.c | 4943 > >> ++++++++++++++++++++++++++++++++++++++++ > >> drivers/mtd/nand/raw/ca_nand.h | 3899 +++++++++++++++++++++++++++++++ > > > > This is insanely big ! > > Hi Miquel, could you clarify? Is there a change request? 9000 lines for a single NAND driver? You bet I do :) $ wc -l drivers/mtd/nand/raw/*.c | grep -v spl 1273 drivers/mtd/nand/raw/arasan_nfc.c 1511 drivers/mtd/nand/raw/atmel_nand.c 838 drivers/mtd/nand/raw/davinci_nand.c 1376 drivers/mtd/nand/raw/denali.c 171 drivers/mtd/nand/raw/denali_dt.c 810 drivers/mtd/nand/raw/fsl_elbc_nand.c 1064 drivers/mtd/nand/raw/fsl_ifc_nand.c 184 drivers/mtd/nand/raw/fsl_upm.c 518 drivers/mtd/nand/raw/fsmc_nand.c 133 drivers/mtd/nand/raw/kb9202_nand.c 91 drivers/mtd/nand/raw/kirkwood_nand.c 122 drivers/mtd/nand/raw/kmeter1_nand.c 765 drivers/mtd/nand/raw/lpc32xx_nand_mlc.c 583 drivers/mtd/nand/raw/lpc32xx_nand_slc.c 1307 drivers/mtd/nand/raw/mxc_nand.c 1421 drivers/mtd/nand/raw/mxs_nand.c 94 drivers/mtd/nand/raw/mxs_nand_dt.c 5316 drivers/mtd/nand/raw/nand_base.c 1373 drivers/mtd/nand/raw/nand_bbt.c 231 drivers/mtd/nand/raw/nand_bch.c 175 drivers/mtd/nand/raw/nand.c 174 drivers/mtd/nand/raw/nand_ecc.c 213 drivers/mtd/nand/raw/nand_ids.c 64 drivers/mtd/nand/raw/nand_plat.c 334 drivers/mtd/nand/raw/nand_timings.c 904 drivers/mtd/nand/raw/nand_util.c 193 drivers/mtd/nand/raw/omap_elm.c 1037 drivers/mtd/nand/raw/omap_gpmc.c 1933 drivers/mtd/nand/raw/pxa3xx_nand.c 1061 drivers/mtd/nand/raw/stm32_fmc2_nand.c 1850 drivers/mtd/nand/raw/sunxi_nand.c 1002 drivers/mtd/nand/raw/tegra_nand.c 815 drivers/mtd/nand/raw/vf610_nfc.c 1254 drivers/mtd/nand/raw/zynq_nand.c So this driver would be almost twice bigger than the NAND core itself (nand_base.c). I did not check in details but I am pretty sure you duplicate a lot of code. Thanks, Miquèl

