Re: [PATCH v2 05/15] mtd: nand: add manufacturer specific initialization/detection steps

From: Boris Brezillon
Date: Sat Jun 18 2016 - 07:35:02 EST


On Sat, 18 Jun 2016 11:23:01 +0200
Richard Weinberger <richard@xxxxxx> wrote:

> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> index 55f3ab8..aadebe7 100644
> --- a/drivers/mtd/nand/nand_base.c
> +++ b/drivers/mtd/nand/nand_base.c
> @@ -3703,6 +3703,10 @@ static int nand_detect(struct nand_chip *chip, struct nand_flash_dev *type)
>
> chip->manufacturer.ops = nand_manuf_ids[maf_idx].ops;
>
> + if (!chip->manufacturer.ops)
> + /* assign no operations */
> + chip->manufacturer.ops = nand_manuf_ids[0].ops;
> +

BTW, this is wrong, the manufacturer id code is not the index of the
nand_manuf_ids[] table ;). If we go for this option, we should probably
declare no_ops in nand_base.c and assign it here:

chip->manufacturer.ops = nand_manuf_no_ops;

> if (!type)
> type = nand_flash_ids;
>