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

Boris Brezillon boris.brezillon at bootlin.com
Tue Mar 27 00:17:37 PDT 2018


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);
}

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(-)
> 



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



More information about the linux-mtd mailing list