[PATCH 0/2] Uniform way to pass a NAND ID table to the core

Miquel Raynal miquel.raynal at bootlin.com
Sat Apr 21 11:19:00 PDT 2018


Hi Boris,

On Tue, 27 Mar 2018 09:17:37 +0200, Boris Brezillon
<boris.brezillon at bootlin.com> wrote:

> Hi Miquel,
> 
> On Wed, 21 Mar 2018 14:12:33 +0100
> Miquel Raynal <miquel.raynal at bootlin.com> wrote:
> 
> > Hello,
> > 
> > As part of the work of migrating all the drivers to nand_scan(), and
> > because nand_scan() does not provide a way to pass any ID table, create
> > a field in NAND chip so a controller driver can expose its ID table to
> > the core through it and stop using the last parameter of
> > nand_scan_ident() for that.  
> 
> I'm not a big fan of adding yet another field to the nand_chip struct.
> Could we instead create a nand_scan_with_ids() function that takes an
> extra ID table in argument and then make nand_scan() a wrapper around
> this new function?
> 
> int nand_scan_with_ids(struct mtd_info *mtd, int max_chips,
> 		       struct nand_flash_dev *ids);
> 
> static inline int nand_scan(struct mtd_info *mtd, int max_chips)
> {
> 	return nand_scan_with_ids(mtd, max_chips, NULL);
> }

Sure I can do that, but I found too impacting the fact that we should
patch all the drivers to call nand_scan_with_ids() from your example.

I added another exported function called nand_scan_with_ids() but
nand_scan() is still visible so that I only have to patch one driver.

You'll tell me what you think.

Thanks,
Miquèl

> 
> Regards,
> 
> Boris
> 
> > 
> > Apply this to the sm_common driver which is the only one that actually
> > provides its own ID table, so there is no remaining driver using this
> > third parameter, so all can be moved easily to nand_scan() in a next
> > series.
> > 
> > Thanks,
> > Miquèl
> > 
> > Miquel Raynal (2):
> >   mtd: rawnand: add a field in nand_chip to fill an array of IDs
> >   mtd: rawnand: sm_common: make use of the new flash_ids table entry
> > 
> >  drivers/mtd/nand/raw/nand_base.c | 8 ++++++--
> >  drivers/mtd/nand/raw/sm_common.c | 5 +++--
> >  include/linux/mtd/rawnand.h      | 3 +++
> >  3 files changed, 12 insertions(+), 4 deletions(-)
> >   
> 
> 
> 



-- 
Miquel Raynal, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the linux-mtd mailing list