Hi Boris, Boris Brezillon <boris.brezillon at bootlin.com> wrote on Mon, 30 Jul 2018 22:13:41 +0200: > The diskonchip G4 driver does not fit very well in the raw/parallel > NAND framework simply because such chips have an internal controller > translating DoC-specific commands into NAND ones. > > Keeping such a driver in the raw NAND framework is a real burden for > NAND maintainers. > > Not to mention that some part in this drivers are a bit worrisome: > > - writes are done by subpages, even though we're interfacing with an MLC > chip which are known to not support subpage writes very well (it might > be that the FTL handles the complexity for us though) > > - some part of the code are simply ignoring return codes of function that > can fail in a few occasions > > - there's a hack to support OOB writes when no data is provided. This > operation is not supported by the chip and should have been rejected, > and nandwrite and other userspace tools should have been patched to > deal with such devices > > - the driver is apparently broken when ignore_badblocks module param > is not set to 1 and nobody noticed that (don't know since when this > is the case, but it's not a recent change) > http://lists.infradead.org/pipermail/linux-mtd/2018-July/082472.html > > Add to that the fact that we already have a docg3 driver in > drivers/mtd/devices/docg3.c and, looking at the code (and regs), it > seems docg3 and docg4 have a lot in common (even the author of this > driver seemed to have realized that interfacing with the raw NAND > framework might have been a bad idea > http://lists.infradead.org/pipermail/linux-mtd/2012-January/039517.html). > > For all these reasons, I'm proposing to remove this driver. If anyone > ever wants to add support for this chip back, I'd suggest extending > the docg3 driver instead of adding a completely new driver. > > Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com> > Cc: Mike Dunn <mikedunn at newsguy.com> > Cc: Robert Jarzmik <robert.jarzmik at free.fr> > Cc: Sergey Larin <cerg2010cerg2010 at mail.ru> > --- I do agree in removing this driver. I just checked for docg4 references and it looks like palmeo.c board file has some code related to it, enclosed in a #if IS_ENABLED(CONFIG_MTD_NAND_DOCG4) Besides the fact that it is the only user, that's probably something we should also remove. Plus, I recently added a mention to the docg4 driver in nand_base.c during the conversion to nand_scan() (to skip nand_scan_ident()). It might be worth removing the extra code or at least the reference in the comment. Thanks, Miqu?l