[PATCH v2] mtd: nand: spi: rework detect procedure for different read id op

Boris Brezillon boris.brezillon at collabora.com
Fri Jan 10 00:21:52 PST 2020


On Fri, 10 Jan 2020 09:10:24 +0100
Miquel Raynal <miquel.raynal at bootlin.com> wrote:

> Hi Boris,
> 
> Boris Brezillon <boris.brezillon at collabora.com> wrote on Fri, 10 Jan
> 2020 09:04:22 +0100:
> 
> > On Fri, 10 Jan 2020 15:34:28 +0800
> > Chuanhong Guo <gch981213 at gmail.com> wrote:
> >   
> > > Hi!
> > > 
> > > On Fri, Jan 10, 2020 at 2:59 PM Boris Brezillon
> > > <boris.brezillon at collabora.com> wrote:    
> > > > [...]      
> > > > > +     ret = spinand_read_id_op(spinand, 1, 0, id);
> > > > > +     if (ret)
> > > > > +             return ret;
> > > > > +     ret = spinand_manufacturer_match(spinand,
> > > > > +                                      SPINAND_READID_METHOD_OPCODE_ADDR);
> > > > > +     if (!ret)
> > > > > +             return 0;
> > > > > +
> > > > > +     ret = spinand_read_id_op(spinand, 0, 1, id);      
> > > >
> > > > Hm, we should probably do only one of each read_id and iterate over all
> > > > manufacturers/chips each time instead of doing 3 read_ids per
> > > > manufacturer.      
> > > 
> > > This actually do the former instead of the latter. Maybe the function
> > > names are a bit
> > > misleading. spinand_manufacturer_match iterates over all manufacturers
> > > in one call,
> > > and spinand_manufacturer_detect is called once in spinand_detect.
> > > Do you have suggestions on function naming?    
> > 
> > Maybe you can just inline the content of this function in
> > spinand_detect().  
> 
> Actually I found that part clear enough, I would keep it as is, out of
> the spinand_detect() function as long as there is no actual reason to
> merge them?

Hm, I kind of disagree. The current name makes it sound like the
function detects the manufacturer or does a per-manufacturer id
detection, which is not the case. How about spinand_id_based_detect() or
spinand_readid_detect()?



More information about the linux-mtd mailing list